진심으로 최고 & 높은 vim 환경을 만들고 싶다 1

10830 단어 VimScala
아무래도, 프로그래밍을 시작해 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. mdLSP(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

좋은 웹페이지 즐겨찾기