-
對的查看全部
-
第一章到第五章的筆記:
VIM
1 :version 查看配置文件 vimrc 的位置
it shows: “user vimrc file: "$HOME/.vimrc"”
配置文件在用戶目錄下~/.vimrc ,如果沒有,就自己創建一個
vimrc ?“ 表示注釋
#移動?
hjkl 左下上右
0 移動到行首
^ 移動到代碼的第一個字符
$ 移動到行尾
w/W 移動到下一個單詞. w把標點也作為一個單詞, W以空格區分單詞
b/B ? ? 反向移動
e/E ? 移動到下一個單詞結尾
ge ? 反向到下一個單詞結尾
#跳轉
Ctrl+f 下一頁
Ctrl+b ?上一頁
Ctrl+d/u ?向下/上翻半頁
gg ?跳轉到文件首行
<line_number>gg/G 跳轉到指定行。如輸入 8gg就回跳轉到第8行。
G ? 跳轉到文件最后一行
Ctrl+g ? 查看文件信息:文件名,當前行數,當前百分比
#縮進
>> ?右鎖進。普通模式下,需要在有字符的情況下。
<< 左鎖進。
命令模式下
:m,n> m行到n行進行縮進
:m>n m行開始,連續縮進n行
Vim?
delete 剪切
yank 拷貝
put 粘貼
:h ? 幫助命令
:h reg ?寄存器的幫助命令。寄存器可以大概理解為剪切板。
yy 賦值整行。
dd 剪切整行
:reg 查看剪切版(寄存器)中的內容。
p 粘貼
u 撤銷
ctr+r 重做
yw 賦值當前光標單詞,y2w 向前復制2個單詞。
x 刪除當前光標所在字符。
dw 刪除當前字符
d{hjkl} 刪除上下左右的字符
d$ 刪除到行尾
d^ 刪除到行首
5dd 連續向下刪除5行
5w 正向移動5個單詞
5dw 連續先前刪除5次
~ 單個字符大小寫切換
g~w 單詞大小寫切換
g~~ 整行大小寫切換
guw 單詞強制小寫
gUw 單詞強制大寫
guu 當前行小寫
fs 查找下一個字符‘s’ 的位置。當前行查找
Fs 反向查找下一個字符‘s’ 的位置。當前行查找。
dft 刪除光標到當前行到查找‘t’之間的字符。但前行查找
/string 命令行全文查找當前字符穿string。
替換
:s/set/world/g ?當前行 ‘set’ 修改為 ‘world’?
:%s/set/world/g 全文 ‘set’ 修改為 ‘world’
shift + r 替換模式,新的輸入會覆蓋當前行。
緩沖區
vim file1 file2 打開多個文件,每個文件對應一個緩沖區
:ls 列出來當前緩沖區
:bp 前一個
:bn 后一個
:ball 所有的
:qall 退出所有的
分屏
vim -O file1 file2 ?水平分屏,打開file1,file2 兩個文件。
vim -o file1 file2 ?豎直分屏
ctrl + w + h/j/k/l 移動選中分屏
標簽:
:tabsnew file1 在新標簽中打開file1
:tabs ? 查看當前所打開的標簽頁
:tabclose 關閉當前所打開的標簽
:tabonly 除了當前關閉所有標簽
:tabn 移動下一個標簽
:tabp 移到前一個標簽
:tabfirst 移到第一個標簽
:tablast 移到最后一個標簽
:tabm 2 移到第二個標簽, 從0開始
gt 移動到下一個標簽
gT 移動到上一標簽
2gt 移動到第二個標簽,從1開始。
文本對象
可視化模式下
viw i 不包括空格,空格計數
vis 選中句子
vip 選中段落
vi( 選中小括號
vi[ 選中中括號
vit 選中標簽中的內容
vaw a 空格不計數
v2aw
daw 刪除當前單詞,包括刪除空格
diw 刪除當前單詞,不刪除空格
dw 刪除光標后
宏
普通模式下 qa,開始錄制寄存器到a寄存器中。
按 i,進入編輯。
esc 退出編輯。
q退出錄制。
100@a ?把a寄存器中的宏執行100次。
@@ 執行一遍上一次的操作
:n,mnormal @a?
可視化
v 面向字符
shift + v 面向行
ctrl + v 面向塊
gv 重選上次高亮邊界
o 切換選取邊界
案例1:僅把大括號內的進行縮進。
f () {
111 ? ? ??
222 ? ??
333 ? ??
}
1 選中:光標移動到大括號左面,’vi{‘
2 縮進: ‘>>’
3 再次縮進: ‘.’
4 取消一次縮進: ‘u’
案例2:制表
chapter ?Page
一 ? ? ? ?10?
二 ? ? ? ?30?
三 ? ? ? ?60
1 繪制豎線:
光標移到‘chapter’ ‘Page’單詞之間,ctrl+v 進入塊編輯。
向下移動選中一列
r 替換
| 完成
2 繪制橫線
把‘chapter| Page’ 拷貝一下。再把一行替換掉。
shift + v 選中一行。
r 單個字符替換
- 完成。
chapter| Page
_____________
一 ? ? | ?10?
二 ? ? | ?30?
三 ? ? | ?60
案例三
aaa ggg bbb
aaa ggg bbb
aaa ggg bbb
替換為
aaa ... bbb
aaa ... bbb
aaa ... bbb
1 ctrl+v,光標移動到第一個g,向下移動。e選中當前單詞,ggg。
2 c 修改
3 輸入 …
4 退出編輯,完成。
案例4: 再每行行尾添加 end
1?
1 2?
1 2 3?
1 2?
1?
1 ctrl+v 進入塊模式
2 從上到下選一列
3 $ 選到行尾
4 A 進入插入模式,行尾添加end。
5 退出。完成。
1 end
1 2 end
1 2 3 end
1 2 end
1 end
部分內容有篩選。
查看全部 -
可視化模式
三種子模式
查看全部 -
標簽操作和命令鍵
查看全部 -
標簽操作指令
查看全部 -
移動分屏和尺寸變動
查看全部 -
(多窗口)分屏操作
查看全部 -
緩沖區列表操作
查看全部 -
緩沖區列表操作
查看全部 -
緩沖區列表指示狀態
查看全部 -
緩沖區列表
查看全部 -
刪除、復制與粘貼
7.組合刪除
查看全部 -
刪除、復制與粘貼
6.組合刪除
查看全部 -
刪除、復制與粘貼
5.行剪切粘貼
查看全部 -
刪除、復制與粘貼
4.調換字符
查看全部
舉報