歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux技術 >> vim 學習筆記

vim 學習筆記

日期:2017/3/3 13:41:23   编辑:Linux技術

內容來源:《vim 實用技巧》一書

vim 移動位置的鍵:

h 左

j 下 gj 按屏幕行向下移動

k 上 gk 按屏幕行向上移動

l 右

0 移動到行首 g0 屏幕行行首

^ 移動到實際行的第一個非空白字符 g^ 屏幕行

$ 移動到行尾 g$ 屏幕行行尾

w 正向移動到下一單詞的開頭

b 反向移動到上一單詞的開頭

e 正向移動到下一單詞的結尾

ge 反向移動到上一單詞的結尾

. 表示重復上一次的動作

@:表示重復上一次的Ex命令

;表示重復上一次f[c]查找

可視模式下選中字符按U 或 u是切換字符大小寫

用法:

gUU 把一行中的字符變大寫

guu 把一行中的字符變小寫

gv 返回上一次可視塊的選中狀態

可視模式下按I進入插入模式,插入的字符會插入到選中的區塊范圍

命令行模式匹配的符號:

1 文件第一行

$ 最後一行

0 虛擬行 第一行上方

. 光標所在行

'm 包含位置標記m的行

'<,'> 高亮選區的起止行

% 表示1,$的簡寫即所有行

:copy :t 復制行

用法:

:[range]copy {address}

:6t. 表示把第6行復制到當前行的下一行

:t6 表示把當前行復制到第6行下方

:t. 等同於yyp

:t$ 把當前行復制到文件末尾

:'<,'>t0 把高亮區段復制到文件開頭

:move :m 移動行的用法類似copy

在指定范圍上執行普通模式命令:

:normal i//

tab自動補全Ex命令,Ctrl+d列出補全命令的列表

習慣用bash shell的工作方式一般設置為

:set wildmode=longest,list

默認Ex命令會記錄20條歷史記錄,

增加歷史記錄條數可把以下配置寫入vimrc文件

set history=200

普通模式下打開查找和Ex命令歷史命令的命令行窗口:

q/

q:

運行shell命令:

:!ls -lh %

%在這裡代表當前文件名

:read ![cmd] 把shell命令執行結果插入到光標下方

:[range]write ![cmd] 把vim中的范圍字段作為標准輸入到shell命令

:[range]!{filter} 使用外部shell命令過濾指定的vim范圍字段

vim 默認按 tab 鍵是向前進8個空格,即縮進的字符為8個,

可以在命令行模式用下面的設置縮進為4個空格:

set shiftwidth=4 softtabstop=4 expandtab

在普通模式下,縮進一行或是一段可以用>> <<

分別表示向右和向左縮進

一次打開多個文件的情況下

:ls 表示列出緩沖區的文件列表

:bp :bn 可上下切換打開的文件

:ls

4 %a "ifcfg-eth0" 第 3 行

5 # "install.log" 第 2 行

%在這裡表示當前窗口打開的文件,#表示輪換文件,按ctrl^ 可在當前和輪換文件間切換

參數列表:

:args

默認是打印當前參數列表的內容,

:args [file1] [file2]

設置參數列表的內容

:args **/*.* 表示把子目錄下的所有文件加入緩沖區

:args `cat filelist.txt` 把shell命令執行結果中的文件作為參數加入

:qall! 退出不保存所有緩沖區的修改

:wall 保存所有緩沖區修改

水平/垂直切分窗口:Ctrl+w s/v

切分後另一個窗口打開新文件

:sp file

:vp file

切換窗口命令:

Ctrl+w w 循環切換

Ctrl+w h/j/k/l 按方向切換

:close 關閉活動窗口

:only 只保留活動窗口

Ctrl+w = 所有窗口等寬等高

Ctrl+w _ 最大化活動窗口高度

Ctrl+w | 最大化活動窗口寬度

以下是設置為N行

N Ctrl+w _

N Ctrl+w |

打開文件:

:edit

:edit %<tab>打開當前文件所在的路徑,包含文件名

:edit %:h<tab>打開路徑,不包含文件名

如果navigation在app子目錄下,可以用設置path後通過find查到並打開,

:set path+=app/**

:find navigation.js

可視模式下:

a) 一對圓括號

i) 圓括號內部

at 一對XML標簽

it XML標簽內部

iw 當前單詞

aw 當前單詞加一個空格

iW

aW

is

as

ip

ap

daw

ciw

位置標記:

mm

`m

`` 上次跳轉動作之前的位置

`. 上次修改的地方

`^ 上次插入的地方

`[ 上次修改或復制的起始位置

`] 上次修改或復制的結束位置

`< 上次高亮選區的起始位置

`> 上次高亮選區的結束位置

% 在匹配括號間跳轉

Copyright © Linux教程網 All Rights Reserved