웹 개발 및 프로그래밍을 위해 Vim을 어떻게 사용자 정의 할 수 있습니까?


10

[askubuntu.com]에서 내 질문에 대한 내용을 이미 찾으려고했지만 내 요구에 응답하는 것은 없습니다. 그래서 내가 원하는 것은 html, css, javascript 등을위한 매우 강력하고 유용한 편집기로 빌드 vim을 프로그래밍하는 것입니다. CSS를 배우려고하는데 일반적으로 플러그인이 많은 멋진 편집기가 필요했습니다. 따라서 vim을 사용자 정의하고 학습 기간에 도움이 될만한 기능에 대해 단계별로 누군가 나를 도울 수 있습니까? 감사합니다.

그리고 vim이 실행되는 유일한 방법은 터미널에서 온 것입니까? 감사합니다.

*** edit ---> my.vimrc 파일을 찾을 수 없습니다

내 홈 폴더

답변:


11

다른 사람들에게는 훌륭한 조언이 있습니다. 기본 사항을 채우겠다고 생각했습니다.

1. 콘솔 외부의 vim 용 GVim 및 설치 방법

vim을 콘솔에서만 실행할 수 있는지 물었습니다. GVim (GUI-Vim)은 독립형 버전입니다. 스크린 샷에서 우분투를 사용하고있는 것처럼 보입니다. 소프트웨어 센터에서 gvim을 찾아 설치할 수 있습니다. 또는 sudo apt-get install gvim터미널에서 할 수 있습니다 .

2. .vimrc 설정 파일 생성

기본적으로 vim / gvim은 .vimrc사용자를 위해 생성하지 않으므로 직접 만들 수 있습니다. vim을 열고 입력 하여 홈 폴더 ( ) 에 :e ~/.vimrc있는 새 파일을 편집 .vimrc하십시오.~

설정이 하나만 추가되어 작동하는지 확인할 수 있습니다. 다음 텍스트를 추가하십시오.

" switch on line numbering
set number

"주석 문자입니다.

그런 다음 vim을 종료했다가 다시 시작하십시오. 줄 번호 1이 왼쪽 상단에 나타나고 지금부터 편집하는 모든 파일의 줄 번호가 기본적으로 설정되어 있음을 알 수 있습니다.

3. 플러그인 설치

플러그인은이라는 폴더 ~/.vim/에 있지만 vim은 기본적으로 이것을 만들지 않으므로 다음과 같이 만들어야합니다.

mkdir ~/.vim

시간이 지남에 따라 .vim폴더는 다음과 같은 여러 하위 폴더로 커집니다.

  • plugin 플러그인
  • color 색 구성표
  • doc 문서화
  • syntax 구문 강조 모드

그러나 지금은 비어 있습니다. 하나의 플러그인을 추가하여 사용해 봅시다.

vim을 사용하여 시작하십시오. vim .-vim이 "탐색기"모드로 폴더를 열도록 지시합니다. 인기있는 파일 브라우저 플러그인 인 NERDtree를 설치하여 기본 탐색기를 대체합니다.

http://www.vim.org/scripts/script.php?script_id=1658로 이동 하여 페이지 하단의 테이블에서 zip 파일을 다운로드하십시오.

보관 관리자에서 열어 "추출"을 선택한 다음 ~/.vim/폴더 로 추출하도록 지시하십시오 . Ctrl+H숨겨진 폴더를 표시하려면 보관 관리자의 폴더 브라우저 내부 를 누르십시오 .

압축이 풀리면 여러 개의 하위 폴더가 만들어 .vim집니다. 지금 vim으로 vim을 다시 시작하면

vim .

탐색기보기가 변경되었습니다. 이제 NERDtree 플러그인을 사용하고 있습니다.

4. 더 많은 .vimrc 설정

내 전체 .vimrc는 https://bitbucket.org/hjwp/vim/src 에서 사용할 수 있지만 다음은 실제로 유용한 몇 가지 설정입니다.

" syntax highlighting
syntax on

" map cut & paste to what they bloody should be
vnoremap <C-c> "+y
vnoremap <C-x> "+x
map <C-v> "+gP

" sane text files
set fileformat=unix
set encoding=utf-8

" sane editing
set tabstop=4
set shiftwidth=4
set softtabstop=4

" convert all typed tabs to spaces
set expandtab

"autocompletion with ctrl+space
inoremap <c-space> <c-n>
inoremap <Nul> <c-n>

5. 태그

처음에는 플러그인에 대해 너무 걱정하지 않아도됩니다. vim이 제공하는 강력한 기능을 알게되면 이미 코딩에 충분히 유용해야합니다. 그러나 vim에서 작업하는 데 실제로 유용한 것은 ctags 입니다. ctags를 사용하면 "정의로 정의"와 같은 작업을 수행하고 소스 트리의 모든 키워드를 자동 완성 할 수 있습니다. 로 시작 :

apt-get 설치 무성한 ctags

그런 다음 .vimrc에서

map <f12> :!ctags -R .<cr>

이제 vim 세션에서 "F12"를 누르면 .tags파일 을 생성하여 vim이 키워드를 스캔하는 데 사용할 수 있습니다.

이제 소스 코드에서 함수 호출과 같은 기능을 사용중인 경우 ctrl+]해당 정의로 바로 이동할 수 있습니다 . 자세한 정보는 여기에서 : /programming/563616/vim-and-ctags-tips-and-tricks

6. 다음 단계

다른 사람들이 실제로 유용한 가이드를 게시했습니다. 여기 유용한 두 가지 SO 페이지가 있습니다.

그것은 전체 vim 세계입니다. 그러나 경고 : 당신이 스스로 vim golf에 들어가는 것을 발견하면 아마도 너무 멀었을 것입니다 -http : //vimgolf.com/ ;-)


좋아, 내가 .vim없거나 .vimrc파일 이 없기 전에 언급했듯이 . 나는 무엇을하는지 알고 .있지만, 정확히 하나의 플러그인을 설치하거나 하나의 설정을 변경하는 방법을 알려주시겠습니까? 제발 도와주세요! 감사합니다
gabriel

아, vim이 .vimrc기본적으로 생성하지 않을 수도 있고 직접 만들어야 할 수도 있습니다 ... 답변을 업데이트하고 기본 플러그인을 설치하는 방법에 대한 내용도 포함시킵니다 ...
hwjp

1
그게 더 낫니?
hwjp

감사합니다! 그러나 플러그인을 어떻게 제거 할 수 있습니까? 파일을 삭제합니까? 감사합니다
gabriel

또한 병원체를 설치 .vim했는데 파일이 전혀 구성되어 있지 않습니다. 유용한 html플러그인이 있습니까? 감사합니다
gabriel April

9

.vimrc를 위와 같이 공부하기를 제안합니다. 모든 사람의 요구와 환경 설정이 다르므로 다른 사람의 구성을 복사하는 대신 수동으로 물건을 설치해야합니다.

VIM 자체 학습에 대한 몇 가지 리소스 :

  • Vim을 배우는 방법에 대한 훌륭한 안내서 인 Vim을 점진적으로 배우십시오 .
  • Vim Novice Tutorials , Derek Wyatt의 비디오 시리즈 처음 여행을 시작했을 때 나는 즐거웠습니다.
  • 치트 시트 , 만약 당신이 Vim에 익숙하지 않다면 시험처럼 이것을 추천합니다. 키 바인딩을 종이에 적고, 왼쪽에있는 명령과 오른쪽에있는 설명을 작성하십시오. 그런 다음 명령이나 설명을 숨기고 답을 기억하여 암기하십시오. 명령이 자연스럽게 나오기까지 오래 걸리지 않지만 Vim에서도 적극적으로 사용하는 것을 잊지 마십시오. 그렇지 않으면 빠르게 배울 수 있습니다.
  • http://usevim.com (vim 플러그인 평가 및 Vim 101 시리즈도 있음)
  • http://vimcasts.org/episodes/archive (일부 캐스트)

정말 유용한 플러그인

  • 수많은 언어에 대한 Syntastic Static 코드 분석
  • vim-css3-syntax CSS3를위한 구문 강조. 일반적으로 HTML5 및 Javascript의 구문 파일을 사용하는 경우이를 업데이트해야합니다.
  • Matchit %의 기능을 확장합니다
  • 태그 / 괄호 등의 서라운드 매핑, 웹 개발자에게 강력한 기능
  • Tcomment 대부분의 언어에서 쉽게 전환 코멘트
  • 병원체 플러그인으로 제거하고 놀 수 있도록 vim 폴더를 정리하십시오.
  • NERDtree 개인적으로 정말 선호하는 트리 익스플로러입니다.
  • Command-T 인기있는 버퍼 관리자. 개인적으로 루비에 의존하므로 사용할 수 없습니다.
  • Snipmate 코드 조각 삽입 쉽게.
  • Sparkup div # stuff.class> ul> li * 5를 HTML로 확장하면 드리프트가 발생합니다.

알아 두어야 할 다른 것들

  • 프로젝트의 탭 완성을 얻으려면 vim이 지원하는 ctag를 사용할 수 있습니다
  • 뚜껑 잠금 장치를 esc에 다시 바꿉니다. 하루가 지나면 esc에 이르는 모든 에너지를 어떻게 얻었는지 이해할 수 없습니다.
  • Vim은 실행 취소 트리를 분기했습니다. 즉, 실행 취소 트리를 변경해도 여전히 실행 취소 할 수 있습니다. 군도는 이것을 시각화하는 데 도움이됩니다.
  • Vim은 실행 취소가 영구적이므로 컴퓨터를 다시 시작하더라도 실행 취소 기록이 저장되므로 반드시 활성화해야합니다.
  • 내 vimrc에는이 다른 코드 규칙에 따라 Drupal 또는 Wordpress 사이트에서 작업하고 있는지 확인하는 기능이 있습니다. (이 정보가 도움이 될 수 있다고 생각하면 아래 링크 된 내 저장소에서 찾을 수 있습니다.)
  • Steve Losh는 vim에서 숫자 객체를 정의하는 이 멋진 구성을 가지고 있으므로 cN을 눌러 200px와 같은 숫자 만 삭제 / 변경 등을 할 수 있습니다

체크 아웃 할 가치가있는 Vimrc 저장소

  • 스티브 Losh는 굉장 물건
  • 도망자, 서라운드 및 기타 vim 플러그인의 Tim Pope Creator
  • Oxy 내 자신의 저장소, README에는 Drupal 프로젝트를위한 ctags 생성 예제가 있습니다.
  • 데릭 와이트 그의 스크린 캐스트는 저에게 vim을 가르쳐주었습니다.

좋아, 내가 위에서 언급 한 플러그인과 것들 중 일부를 사용하고 싶더라도 어떻게 사용할 수 있습니까? 내 vimrc 폴더는 어디에 있습니까? 감사합니다
gabriel

1
@gabriel vimrc는 파일이며 .Linux 숨김 파일 시스템을 나타내므로 .vimrc존재하지 않는 경우 작성 하여 홈 디렉토리에 넣으십시오. .vim플러그인 / 스크립트를 포함 할 폴더 / 디렉토리입니다. 또한 만들어야 할 수도 있습니다. 이러한 스크립트의 대부분에는 사용 가능한 설치 지침이 있습니다. vim.org/scripts/script_search_results.php . Vim은 텍스트 편집기이므로 조정과 모든 askubuntu.com/questions/48299
...에

@sagarchalise 좋아, 우리가 그 파일들을 만든 후에 vim의 작동 방식을 바꿀 수 있습니까?
가브리엘

@gabriel는 기본적으로 vimrcvim이해야 할 일, 즉 구문 강조, 탭 / 스페이스, 줄 번호 등을 포함해야합니다. defaullt vim은 텍스트 편집 도구 일뿐입니다. 당신이 원하는 것을 만드십시오. Vim은 매우 강력하고 조정할 수 있습니다. 그러나 해당 모드와 명령을 이해해야합니다. vim.wikia.com/wiki/Example_vimrc vimrc
sagarchalise

Caps Lock을 이스케이프에 어떻게 바인딩합니까 (우분투를 사용하지 않습니다) ?
Santosh Kumar

1

이것을 사용할 수 있습니다 :

bash <<(curl -s https://raw.github.com/wongyouth/vimfiles/master/install.sh )

이것은 당신을 돕기를 희망하는 선생님의 구성입니다.

vim을위한 소수의 플러그인은 모두 하나의 번들 서브 디렉토리, 유용한 vim 구성, 특히 Rails 코딩을 위해 유지 보수됩니다. 모든 플러그인은 하위 모듈로 포함되어 있으므로 한 번의 명령으로 플러그인을 업데이트하여 편리하게 사용할 수 있습니다.

세부 사항 : 여기에 링크 설명을 입력하십시오


그리고 우리가 정확히 무엇을 할 수 있습니까? 그렇지만 수동 설치를 선호합니다.
가브리엘

: 당신은이 링크에서 서브 모듈에 포함 된 사용과 정력 플러그인을 볼 수 있습니다 github.com/wongyouth/vimfiles
클락
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.