vim [OPTION]... FILE... +/PATTERN:打開文件後,直接讓游標處於第一個被PATTERN匹配到的行的行首vim + file 直接打開file,游標在最後一行 三種主要模式: 命令模式:移動游標,剪切粘貼等 插入模式:編輯,修改文本 擴展模式:保存退出等 模式轉換: a ...
vim [OPTION]... FILE...
+/PATTERN:打開文件後,直接讓游標處於第一個被PATTERN匹配到的行的行首
vim + file 直接打開file,游標在最後一行
三種主要模式:
命令模式:移動游標,剪切粘貼等
插入模式:編輯,修改文本
擴展模式:保存退出等
模式轉換:
a 在游標後插入內容
A 在游標所在行末尾插入內容
i 從當前游標前插入內容
I 在游標所在行行首插入內容
o 在當前游標下插入空行
O 在當前游標上插入空行
插入模式-->命令模式 esc
命令模式-->擴展模式 :、?、/
擴展模式-->命令模式 esc
vim的打開與退出:
vim file 若file存在則打開file,若file不存在則新建file
命令模式游標跳轉:
字間跳轉:
h: 左 、 l: 右 、 j: 下 、 k: 上 (支持上下左右鍵)
單詞間跳轉:
w :下一個單詞的詞首
e :當前或下一單詞的詞尾
b :當前或前一個單詞的詞首
行內的跳轉:
Home ^ 將游標跳轉到本行的行首
End $ 將游標跳轉到本行的行尾
0 跳轉到絕對行首
行間的跳轉: (#代表任意數字)
1G=gg 跳轉到文件的首行
G 跳轉到文件的尾行
#G 跳轉到文件的#行(命令模式)
:# 跳轉到文件的#行(末行模式)
句間移動:
) :下一句 ( :上一句
段落間移動:
}: 下一段 {:上一段
當前頁跳轉:
H:頁首、 M:頁中、 L:頁低
翻頁移動:
PgDn Ctrl+f 向下翻一頁
PgUp Ctrl+b 向上翻一頁
擴展模式基本操作:
:q 退出
:q! 強制退出
:w 保存
:wq 保存退出 = ZZ = :x
:X 加密
:wq! 強制保存退出
:! 命令 在vim中執行外面命令
:e file 編輯file
:w file 將當前文件另存為file
:r file 讀入file文件的內容
$1$yyzOv8eO$a0q8BUF80SGcJTy8hx0hy/ :r!openssl passwd -1 ##擴展模式使用外面命令生成加密字元串讀入到文件中
命令模式字元編輯:
x 刪除游標處的字元;
#x 刪除游標處起始的# 個字元
xp 交換游標所在處的字元及其後面字元的位置
~ 轉換大小寫
r 替換游標所在處的字元
R 進入替換模式
d 刪除命令,可結合游標跳轉字元,實現範圍刪除;
d$ 刪除到行尾
d^ 刪除到非空行首
d0 刪除到行首
dd 刪除游標所在行
#dd 刪除#行
dG 刪到尾行
dgg 刪到首行
yy 複製當前游標所在行,(支持y$、y0、y^等)
#yy 複製當前游標向下#行
p 粘貼
c 修改,(支持y$、y0、y^等)
J 合併當前行和下一行
u 取消最近一次的操作,能多次使用
U 取消當前行所有的操作
ctrl+r 對使用u命令撤銷操作進行恢復
. 重覆前一個操作
n. 重覆前一個操作n次
擴展模式地址定界:
:2,+3 表示2到5行
:. 點表示當前行
:$ 表示最後一行
:% 表示全文,相當於1,$
/p1,/p2 第一次被p1匹配到的行到第一次被p2匹配到的行
擴展模式字元串查找:
/world 從上向下查找world
?world 從下向上查找world
n 定位下一個匹配的字串
N 定位上一個匹配的字串
擴展模式字元串替換:
:s/old/new 將當前行中查找到的第一個字元“old” 串替換為“new”
:s/old/new/g 將當前行中查找到的所有字元串“old” 替換為“new”
:#,#s/old/new/g 在行號“#,#”範圍內替換所有的字元串“old”為“new”
:%s/old/new/g 在整個文件範圍內替換所有的字元串“old”為“new”
:s/old/new/c 在替換命令末尾加入c命令,將對每個替換動作提示用戶進行確認
:%s/^\s*//g 刪除行首空格
:g/^$/d 刪除空行
:5,10s/^/#/g 在5到10行行首插入#號註釋
可視話模式:
允許選擇的文本塊,可代替滑鼠。突出顯示的文字可以被刪除,複製,變更,過濾,搜索/替換等
v面向字元
V面向行
ctrl-v 面向塊
多文件模式:
vim file1 file2 file3 ...
:next 下一個
:prev 前一個
:first 第一個
:last 最後一個
:wall 保存所有
:qall 退出所有
:wqall
多文件視窗:
vim -o file1 file2 ...
-o 水平分割
-O 垂直分割
視窗間切換:ctrl+w
單文件視窗:
Ctrl+w,s: split, 水平分割
Ctrl+w,v: vertical, 垂直分割
ctrl+w,q :取消相鄰視窗
ctrl+w,o: 取消全部視窗
: wqall 退出
定製vim工作特性:
配置文件:
全局:/etc/vimrc
個人:~/.vimrc
1、行號:
永久修改:
在/root/.vimrc文件中添加
set nu
:set nonu 去掉行號
臨時顯示行號:(擴展模式)
:set nu 顯示行號
:set nonu 不顯示行號
2、括弧成對匹配:
匹配:set sm
取消:set nosm
3、自動縮進:
啟用:set ai
禁用:set noai
4、高亮搜索:
啟用:set hlsearch
禁用:set nohlsearch
5、語法高亮:
啟用:syntax on
禁用:syntax off
6、忽略字元的大小寫
啟用:set ic
不忽略:set noic
7、文件格式:
啟用: fileformat=unix
不忽略: fileformat=dos
8、設置文本寬度
:set textwidth=65 (vim only)
:set wrapmargin=15
vim的寄存器:
有26個命名寄存器和1個無命名寄存器,常存放不同的剪貼版內容,可以不同會話間共用。
有10個數字寄存器,用0,1,…,9表示,0存放最近複製內容,1存放最近刪除內容。當新的文本變更和刪除時,1轉存到2,2轉存到3,以此類推。數字寄存器不能在不同會話間共用。