진심으로 최고 & 높은 vim 환경을 만들고 싶다 1
평소에는 scala를 주로 쓰고 있고, 쵸코쵸코 Angular라고도 쓰고 있습니다
양쪽 모두 vim을 사용해 쓰고 있습니다만, 정의원 점프라든지 보완 기능이라든지는 역시 IDE라든지 VScode의 뜨거운 플러그인이 우수해서. . .
그럼 그쪽을 사용할 수 있어 이야기입니다만, 기본적인 터미널에서의 조작을 확실히 할 수 있게 될 때까지는 IDE가 아니고 emacs라든지 vim사자라고 회사의 CTO에 말해져 일단 emacs를 사용하기 시작했습니다만 , 이메일은 사용자 정의 기사가 너무 많아 vim으로 이동했습니다.
덧붙여서 CTO는 eamcs파(에디터 전쟁 w)
그렇지만 역시 강한 보완 기능, 정의원 점프, 구문 에러 정도는 가르쳐 주었으면 한다. . .
그랬더니 최근 vim-metals라고 하는 플러그인이 격아츠와의 정보가 흘러 왔기 때문에 넣어 보았습니다만 신 너무 있었으므로 공유합니다
환경
OS
MacOS
vim 플러그인 관리
플러그
terminal
hyper
언어
Scala
※단지 제대로 이해는 되어 있지 않으므로 이상한 곳 있으면 가르쳐 주세요
그럼 조속히 설치해 갑시다—! !
Vim · Metals
JDK 버전 확인
$ java -version
openjdk version {1.8系}
JDK 버전이 8 계열인지 확인하십시오.
9부터는 지원되지 않는 것 같지만 버전이 다른 경우 JDK8로 변경하십시오.
Vim 버전 확인
$ vim --version | head
VIM - Vi IMproved 8.1 (2018 May 18, compiled Feb 19 2019 12:07:03)
vim의 버전은 8.1 이상이 아니면 좋지 않으므로 확인하십시오.
coc.nvim 다운로드
Langage Server라고 하는 각 언어마다의, 보완, 정의원 점프, 소스 코드의 에러 해석 같은 기능을 제공해 주는 것이 있는 것 같아(IDE도 필요로 이것을 사용해 그 최강의 환경을 실현하고 있으면)
그들을 함께 관리 할 수있는 것을 넣어야합니다 (소유하지도 않을까)
몇 가지가 있지만 가장 인기있는 것은 이러한 것입니다.
htps : // 기주 b. 코 m/미c로소 ft/㎁구아게세 rゔぇrp 여과 l/bぉb/마s r/p 여과 l. md
LSP(Langage Server Protocol)っていう各言語ごとの補完とかを提供する際の規約をMicroSoftがちょっと前に定めたらしい。
좀 잘 모르겠어요.
글쎄, 좋은 일단 설치
#coc.nvimを使うにはnode.jsが必要なので入れるのと
#yarnで拡張機能を管理できるので入れる
$curl -sL install-node.now.sh/lts | sh
$curl --compressed -o- -L https://yarnpkg.com/install.sh | bash
가능하면
Plug
라는 vim 플러그인 관리 도구를 사용하여 coc.nvim
를 Install없는 사람은 넣어주세요.
vim-plug 소개
" ~/.vimrc
" Configuration for vim-plug
Plug 'derekwyatt/vim-scala'
Plug 'neoclide/coc.nvim', {'do': { -> coc#util#install()}}
" Configuration for vim-scala
au BufRead,BufNewFile *.sbt set filetype=scala
그래서
:PlugInstall
제발가능하면
~/.vim/coc-settings.json
에 다음을 추가하십시오.{
"languageserver": {
"metals": {
"command": "metals-vim",
"rootPatterns": ["build.sbt"],
"filetypes": ["scala", "sbt"]
}
}
}
다음으로 Coursier라는 CLI를 사용하여 최신 Metals를 빌드합니다.
# Make sure to use coursier v1.1.0-M9 or newer.
$curl -L -o coursier https://git.io/coursier
$chmod +x coursier
$./coursier bootstrap \
--java-opt -Xss4m \
--java-opt -Xms100m \
--java-opt -Dmetals.client=coc.nvim \
org.scalameta:metals_2.12:0.5.2 \
-r bintray:scalacenter/releases \
-r sonatype:snapshots \
-o /usr/local/bin/metals-vim -f
할 수 있으면 좋겠어.
Scala 프로젝트 열기
처음으로 build.sbt를 열면 빌드를 가져올 것인지 묻기 때문에 1을 입력하십시오.
열심히
쓰다
vim이 최 & 높이에 접근하고 있는지 확인
화가났다.
가져 오기
이런 두꺼운 보완이 ...
선택하면
전부 써준다. 진짜 멋지다
그것만이 아니다! !
아무리 일부러 import 쓰지 않아도,,,,,
자동 가져오기
게다가!
방법의 보완까지 확실히.
import의 정렬도 해준다
: SortScalaImports
라고 명령 치면 import를 언어의 규정에 따라 sort해 준다(지금 모르겠지만)
.vimrc
파일에 다음을 추가하십시오." Remap keys for gotos
nmap <silent> gd <Plug>(coc-definition)
nmap <silent> gy <Plug>(coc-type-definition)
nmap <silent> gi <Plug>(coc-implementation)
nmap <silent> gr <Plug>(coc-references)
적절한 방법으로
gd
GOD
가장 높고 가까워졌습니다.
이번 기사와 관련된 링크는 다음과 같습니다.
Vim · Metals
vim-plug 소개
htps : // 기주 b. 코 m / b 에시 rts / 다 r 쿠
htps : // 기주 b. 코 m/미c로소 ft/㎁구아게세 rゔぇrp 여과 l/bぉb/마s r/p 여과 l. md
sbt update를 폭속시키는 sbt-coursier 소개
htps: //hyper. 이 s
요카타라 이쪽도~~~
진심으로 최고 & 높은 vim 환경을 만들고 싶다 2
Reference
이 문제에 관하여(진심으로 최고 & 높은 vim 환경을 만들고 싶다 1), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/KaoruIto76/items/8637cbf5c51ec0a8bd7c텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)