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

가브리엘

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

아, 그리고 vim이 실행되는 유일한 방법은 터미널에서 오는 것입니까?

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

내 홈 폴더

hwjp

다른 사람들은 모두 훌륭한 조언을 가지고 있습니다. 저는 몇 가지 기본 사항을 채울 것이라고 생각했습니다.

1. GVim for vim outside the console, and how to install it

You asked whether vim can only be run from the console. GVim (GUI-Vim) is the standalone version. From your screenshot, it looks like you're using Ubuntu, you can find gvim in the Software Centre and install it from there. Alternatively you can sudo apt-get install gvim from a terminal.

2. Creating a .vimrc config file

It looks like, by default, vim/gvim doesn't create a .vimrc for you, so you can create one yourself. Open vim, and type :e ~/.vimrc to edit a new file called .vimrc in your home folder (~)

We'll start by adding just one setting, so that we can see whether it worked. Add the following text:

" switch on line numbering
set number

The " is the comment character.

Then, quit vim and restart it - you should find that a line number 1 has appeared at the top left, and you should find that any file you edit from now on has line numbering switched on by default.

3. Installing a plugin

Plugins live in a folder called ~/.vim/, but, again, vim doesn't create this by default, so you have to make it:

mkdir ~/.vim

Over time, the .vim folder will grow several subfolders like:

  • plugin for plugins
  • color for color schemes
  • doc for documentation
  • syntax for syntax highlighting modes

But for now it's empty. Let's add one plugin, to try it out.

Start by opening vim with vim . - that tells vim to open a folder in "explorer" mode. We'll install NERDtree which is a popular file browser plugin, which will replace the default explorer.

Go to http://www.vim.org/scripts/script.php?script_id=1658 and dowload the zip file from the table at the bottom of the page.

Open it up in archive manager, choose "extract", and then tell it to extract into you ~/.vim/ folder. You may need to hit Ctrl+H inside archive manager's folder browser, to show hidden folders.

Once it's extracted, it will create several subfolders in .vim for you. If you now restart vim with a

vim .

You should see the explorer view has changed! It's now using the NERDtree plugin.

4. More .vimrc settings

My full .vimrc is available here https://bitbucket.org/hjwp/vim/src, but here are a few settings I find really useful:

" 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. Ctags

I wouldn't worry too much about plugins at first, just getting to know the power that vim offers you out of the box should be useful enough to your coding already. But one thing that really is useful to have working in vim is ctags. ctags lets you do things like "jump-to-definition", and autocomplete across all the keywords in your source tree. start with:

apt-get install exuberant-ctags

Then, in your .vimrc, add

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

Now, when you hit "F12" in a vim session, it will generate a .tags file, which vim can use to scan for keywords.

Now, if you're on, eg a function call in your source code, you can use ctrl+] to jump to its definition. More info here: https://stackoverflow.com/questions/563616/vim-and-ctags-tips-and-tricks

6. what's next

다른 사람들은 정말 유용한 가이드를 게시했습니다. 여기에 유용한 몇 가지 SO 페이지가 있습니다.

그것은 전체 vim 세계입니다. 그러나 : 경고 : 만약 당신이 vim 골프에 빠져들었다면 아마 너무 멀리 갔을 것입니다 -http : //vimgolf.com/ ;-)

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

웹 앱 개발자에게 가장 간단한 용어로 블록 체인이란 무엇입니까? 무엇을 위해 사용할 수 있습니까?

분류에서Dev

로컬 개발에 사용하기 위해 어떻게 가짜 keycloack 호출을 할 수 있습니까?

분류에서Dev

초보자 웹 개발자를위한 실제 프로그래밍 과제는 어디에서 찾을 수 있습니까?

분류에서Dev

로컬 개발 중에 CF 정의 대상을 어떻게 사용할 수 있습니까?

분류에서Dev

사용자 정의 dsk 그래프와 함께 dask.dataframe을 어떻게 사용할 수 있습니까?

분류에서Dev

Windows 7 사용자 계정을 어떻게 해킹 할 수 있습니까?

분류에서Dev

함수 매개 변수의 기본값을 프로그래밍 방식으로 어떻게 결정할 수 있습니까?

분류에서Dev

'사용자 스크립트 디렉토리'의 개념을 어떻게 이해할 수 있습니까?

분류에서Dev

Spring Boot 및 Tomcat을 사용하여 프로그래밍 방식으로 키 저장소 파일을 어떻게 제공 할 수 있습니까?

분류에서Dev

웹 디자인 / 개발 / 프로그래밍에 C ++를 사용할 수 있습니까?

분류에서Dev

Flutter : 버튼을 통해 프로그래밍 방식으로 텍스트 필드의 텍스트 정렬을 어떻게 변경할 수 있습니까?

분류에서Dev

어떤 방법 프로그래밍 현재 플랫폼에서 사용할 수있는 자바 언어의 기능을 결정하기 위해?

분류에서Dev

두 개의 firefox 프로필을 어떻게 사용할 수 있습니까?

분류에서Dev

두 개의 Firefox 프로필을 어떻게 사용할 수 있습니까?

분류에서Dev

C #의 입력을 위해 개체 매개 변수를 사용하여 Oracle 저장 프로 시저를 어떻게 호출 할 수 있습니까?

분류에서Dev

.jsx 확장자없이 웹팩을 어떻게 사용할 수 있습니까?

분류에서Dev

프로그래밍 방식으로 레이아웃의 각 모서리에 대해 다른 반경을 어떻게 설정할 수 있습니까?

분류에서Dev

DateTime 변수에 시간을 추가하기 위해 AddHours 및 AddMinutes를 어떻게 사용할 수 있습니까?

분류에서Dev

함수 호출 여부를 결정하기 위해 두 개의 스크립트에서 bool을 어떻게 사용할 수 있습니까?

분류에서Dev

Ubuntu 설치 프로그램을 어떻게 사용자 정의 할 수 있습니까?

분류에서Dev

tempus-fugit 및 junit을 사용할 때 스레드 수를 어떻게 정의 할 수 있습니까?

분류에서Dev

PHP 및 post 값에서 두 개 이상의 양식을 어떻게 사용할 수 있습니까?

분류에서Dev

p : polarAreaChart 툴팁을 어떻게 사용자 정의 할 수 있습니까?

분류에서Dev

React App에서 DataTable을 어떻게 사용자 정의 할 수 있습니까?

분류에서Dev

내 Observable을 어떻게 사용자 정의 할 수 있습니까?

분류에서Dev

Java를 사용하여 두 XML 파일의 차이점을 XPATH로 프로그래밍 방식으로 어떻게 확인할 수 있습니까?

분류에서Dev

함수에서 COPY TO 대상을 지정하기 위해 변수를 어떻게 사용할 수 있습니까?

분류에서Dev

Powershell을 통해 사용자 계정 그룹이 있는지 어떻게 확인할 수 있습니까?

분류에서Dev

더 큰 문자열의 하위 섹션을 일치시키기 위해 부정적인 미리보기를 어떻게 사용할 수 있습니까?

Related 관련 기사

  1. 1

    웹 앱 개발자에게 가장 간단한 용어로 블록 체인이란 무엇입니까? 무엇을 위해 사용할 수 있습니까?

  2. 2

    로컬 개발에 사용하기 위해 어떻게 가짜 keycloack 호출을 할 수 있습니까?

  3. 3

    초보자 웹 개발자를위한 실제 프로그래밍 과제는 어디에서 찾을 수 있습니까?

  4. 4

    로컬 개발 중에 CF 정의 대상을 어떻게 사용할 수 있습니까?

  5. 5

    사용자 정의 dsk 그래프와 함께 dask.dataframe을 어떻게 사용할 수 있습니까?

  6. 6

    Windows 7 사용자 계정을 어떻게 해킹 할 수 있습니까?

  7. 7

    함수 매개 변수의 기본값을 프로그래밍 방식으로 어떻게 결정할 수 있습니까?

  8. 8

    '사용자 스크립트 디렉토리'의 개념을 어떻게 이해할 수 있습니까?

  9. 9

    Spring Boot 및 Tomcat을 사용하여 프로그래밍 방식으로 키 저장소 파일을 어떻게 제공 할 수 있습니까?

  10. 10

    웹 디자인 / 개발 / 프로그래밍에 C ++를 사용할 수 있습니까?

  11. 11

    Flutter : 버튼을 통해 프로그래밍 방식으로 텍스트 필드의 텍스트 정렬을 어떻게 변경할 수 있습니까?

  12. 12

    어떤 방법 프로그래밍 현재 플랫폼에서 사용할 수있는 자바 언어의 기능을 결정하기 위해?

  13. 13

    두 개의 firefox 프로필을 어떻게 사용할 수 있습니까?

  14. 14

    두 개의 Firefox 프로필을 어떻게 사용할 수 있습니까?

  15. 15

    C #의 입력을 위해 개체 매개 변수를 사용하여 Oracle 저장 프로 시저를 어떻게 호출 할 수 있습니까?

  16. 16

    .jsx 확장자없이 웹팩을 어떻게 사용할 수 있습니까?

  17. 17

    프로그래밍 방식으로 레이아웃의 각 모서리에 대해 다른 반경을 어떻게 설정할 수 있습니까?

  18. 18

    DateTime 변수에 시간을 추가하기 위해 AddHours 및 AddMinutes를 어떻게 사용할 수 있습니까?

  19. 19

    함수 호출 여부를 결정하기 위해 두 개의 스크립트에서 bool을 어떻게 사용할 수 있습니까?

  20. 20

    Ubuntu 설치 프로그램을 어떻게 사용자 정의 할 수 있습니까?

  21. 21

    tempus-fugit 및 junit을 사용할 때 스레드 수를 어떻게 정의 할 수 있습니까?

  22. 22

    PHP 및 post 값에서 두 개 이상의 양식을 어떻게 사용할 수 있습니까?

  23. 23

    p : polarAreaChart 툴팁을 어떻게 사용자 정의 할 수 있습니까?

  24. 24

    React App에서 DataTable을 어떻게 사용자 정의 할 수 있습니까?

  25. 25

    내 Observable을 어떻게 사용자 정의 할 수 있습니까?

  26. 26

    Java를 사용하여 두 XML 파일의 차이점을 XPATH로 프로그래밍 방식으로 어떻게 확인할 수 있습니까?

  27. 27

    함수에서 COPY TO 대상을 지정하기 위해 변수를 어떻게 사용할 수 있습니까?

  28. 28

    Powershell을 통해 사용자 계정 그룹이 있는지 어떻게 확인할 수 있습니까?

  29. 29

    더 큰 문자열의 하위 섹션을 일치시키기 위해 부정적인 미리보기를 어떻게 사용할 수 있습니까?

뜨겁다태그

보관