Vim【學習筆記】


【2017-02-04】

先放幾個比較好的資料,看這些資料就好了:

1.Vim入門基礎 http://www.jianshu.com/p/bcbe916f97e1

2.vim配置 http://blog.csdn.net/g_brightboy/article/details/14229139

3.簡明Vim練級攻略 http://coolshell.cn/articles/5426.html

4.http://blog.csdn.net/mu_zhou233/article/details/53045831

【update:2017-02-18】學會了替換,注意[需要轉義


 

吐槽:在Mac OS上安裝Vim好麻煩啊.........,並且mvim不支持shift選擇了嗚嗚並且ctrl和command建都不知道按哪個,還是gvim好


 

我的配置文件

" Candy? MacOS

set number
set ruler
set tabstop=4
set shiftwidth=4
set autoindent
set smartindent
filetype on
syntax on
colorscheme solarized
set showmatch
set guifont=Monaco:h20
set mouse=a
set selection=exclusive
set selectmode=mouse,key
nnoremap <F7> <Esc>:w<CR>:!g++ % -Wall -o 
nnoremap <F8> <Esc>:!./
nnoremap <F9> <Esc>:w<CR>:!g++ % -Wall -o a<CR>
nnoremap <F10> <Esc>:!./a<CR>

 

" Candy? Windows

set number
set ruler
set tabstop=4
set shiftwidth=4
set autoindent
set smartindent
filetype on
syntax on
colorscheme solarized
set showmatch
set guifont=monaco:h16
set mouse=a
set selection=exclusive
set selectmode=mouse,key
nnoremap <F7> <Esc>:w<CR>:!g++ % -Wall -o 
nnoremap <F8> <Esc>:!
nnoremap <F9> <Esc>:w<CR>:!g++ % -Wall -o a<CR>
nnoremap <F10> <Esc>:!a<CR>
set nohlsearch

 

后幾個是為了方便編譯(然而並不如直接在終端編譯)

字體 Mac上用Monaco 20號(Monaco字體太漂亮了太可愛了),Windows上用16號

機房電腦的環境變量Path設置:

C:\Program Files (x86)\Vim\vim80;C:\Program Files (x86)\Dev-Cpp\MinGW64\bin;



 命令概覽:

命令前加數字N可以重復命令(通常是接下來N行/N個字符進行命令)

通常小寫字母與下有關,大寫字母與上有關

 


 

[附錄]一些命令:

k 上移; j 下移; h 左移; l 右移。
gg 將光標定位到文件第一行起始位置;
G 將光標定位到文件最后一行起始位置;
0 數字0,左移光標到本行的開始;
$ 右移光標,到本行的末尾;
^       移動光標,到本行的第一個非空字符。

 fc

 Fc

<C+u>
<C+d>
Ctrl+e            往后滾動一行        
Ctrl+y            往前滾動一行   //windows不行?
 

* 當光標停留在一個單詞上,* 鍵會在文件內搜索該單詞,並跳轉到下一處;
/str1 正向搜索字符串 str1; n 繼續搜索,找出 str1 字符串下次出現的位置; N 繼續搜索,找出 str1 字符串上一次出現的位置; ?str2 反向搜索字符串 str2 。

 

 
         
x 刪除光標所指向的當前字符; nx 刪除光標所指向的前 n 個字符;

dd 刪除光標所在行,並去除空隙; ndd 刪除(剪切) n 行內容,並去除空隙;
d$ 從當前光標起刪除字符直到行的結束; d0 從當前光標起刪除字符直到行的開始;

dt" → 刪除所有的內容,直到遇到雙引號—— "

 d和y都可以當成兩邊加上范圍用....(默認第一個范圍是當前位置)

p 小寫字母 p,將緩沖區的內容粘貼到光標的后面; P 大寫字母 P,將緩沖區的內容粘貼到光標的前面。
yy 復制當前行到內存緩沖區; nyy 復制 n 行內容到內存緩沖區;
“+y 復制 1 行到操作系統的粘貼板; “+nyy 復制 n 行到操作系統的粘貼板。

 

u 撤消前一條命令的結果;
<C+r>      恢復命令 . 重復最后一條修改正文的命令。

 


 

i 在光標左側插入正文 a 在光標右側插入正文 o 在光標所在行的下一行增添新行 O 在光標所在行的上一行增添新行 I 在光標所在行的開頭插入 A 在光標所在行的末尾插入

:n 將光標移到第 n 行

正則表達式 替換:

 

:s/str1/str2/ 用字符串 str2 替換當前行中首次出現的字符串 str1 :s/str1/str2/g 用字符串 str2 替換當前行中所有出現的字符串 str1
:%s 所有行 :.,$ s/str1/str2/g 用字符串 str2 替換當前行到末尾所有出現的字符串 str1 :1,$ s/str1/str2/g 用字符串 str2 替換正文中所有出現的字符串 str1
:m,ns/str1/str2/g 將從m行到n行的str1替換成str2

 


 

:split(可用縮寫 :sp) 上下分屏; :vsplit(可用縮寫 :vsp) 左右分屏。
<C+w+w> 切換
:res 大小

:tabnew 新標簽
gt gT    標簽切換

<< >> 縮進 

 


 

可視 塊

<C+v> <C+q>

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM