-
ctrl+h 刪除字符
ctrl+w 刪除單詞
ctrl+u 刪除一行
ctrl+b 前移一個字符
ctrl+f 后移一個字符
ctrl+c/[ 功能同Esc 切換insert和normal模式
gi 快速進入編輯模式
查看全部 -
https://en.wikibooks.org/wiki/Algorithm_Implementation/Sorting/Quicksort#Python ?def?qsort(L): ???if?L?==?[]:?return?[] ???return?qsort([x?for?x?in?L[1:]?if?x<?L[0]])?+?L[0:1]?+?\??????????qsort([x?for?x?in?L[1:]?if?x>=L[0]])
查看全部 -
改造VIM
查看全部 -
個性化vimrc配置
查看全部 -
的設計費 了兩口了
查看全部 -
眾所周知,vim normal 模式使用了反人類的hjkl來移動
查看全部 -
反人類的hjkl
查看全部 -
tab 切換
查看全部 -
快捷切換窗口
查看全部 -
# 文本對象text object
命令格式:
[number]<command>[text object]
number 次數
command 命令 d(delete), c(change), y(yank), v(visual)
text object 文本對象 w(單詞word), s(句子sentence),p(段落paragraph)
eg:
iw? 插入單詞
viw 選擇模式插入單詞
vaw? around word 選中當前單詞和單詞之后的空格
vis/vas/vip/vap
vi(/)/</>/{/}/"/"/'/'
va(/)/</>/{/}/"/"/'/'
ciw? 刪除單詞并插入
ci{? 刪除{內容??
插件 vim-go
查看全部 -
# 多文件操作
Buffer? 打開一個文件的緩沖區(qū)
Window? 可視化分割區(qū)域
Tab? ? ?組織窗口為一個工作區(qū)
1、Buffer
:ls? 列舉緩沖區(qū)
:b n 跳轉到第n個緩沖區(qū)
:bpre :bnext :bfirst :blast
:b buffer_name? tab補全
:e filename 打開文件
2、Window
一個緩沖區(qū)可以分割為多個窗口
每個窗口也可打開不同緩沖區(qū)
窗口可以無限分割
(1)窗口分割
<ctrl + w> + s 水平分割? :sp [filename]
<ctrl + w> + v 垂直分割? :vs [filename]
(2)窗口切換
<ctrl + w> + w 循環(huán)切換
<ctrl + w> + h 切換到左邊
<ctrl + w> + j 切換到下邊
<ctrl + w> + k 切換到上邊
<ctrl + w> + l 切換到右邊
(3)窗口移動
<ctrl + w> + H 移動到左邊
<ctrl + w> + J 移動到下邊
<ctrl + w> + K 移動到上邊
<ctrl + w> + L 移動到右邊
(4)重排窗口
:h window-size
<ctrl + w> + = 所有窗口等寬等高
<ctrl + w> + _? 最大化活動窗口高度
<ctrl + w> + |? 最大化活動窗口寬度
n + <ctrl + w> + _ 把活動窗口的高度設為n 行
n + <ctrl + w> + | 把活動窗口的寬度設為n 行
3、Tab標簽頁
一系列窗口的容器:h tabpage
:tabnew {filename}? ? ?新標簽中打開
:tabe[dit] {filename}? 新標簽中打開
<ctrl + w> + T 當前窗口移動到一個新標簽頁
:tabc[lose]? 關閉當前標簽頁及其中的所有窗口?
:tabo[nly]? ?只保留當前標簽頁,關閉其他標簽頁
:tabn[ext] {N} {N}gt? 切換到編號N 的標簽頁
:tabn[ext]? ? ? ?gt? ? 切換到下一個標簽頁
:tabp[revious]? ?gT? ? 切換到上一個標簽頁
插件:ctrlp nerdtree
查看全部 -
# 搜索替換
substitute 支持正則
:[range]s[ubstitute]/{pattern}/{string}/flags
range 范圍?
? ? eg:?
? ? ? ? 10,20 表示10-20行
? ? ? ? % 表示全部
pattern 替換模式
string? 替換后文本
flags 替換標志位
? ? g global 全局替換
? ? c confirm 確認
? ? n number 查詢匹配次數而不替換
eg:
:% s/self/this/g? # 替換 self->this
:1,6 s/self//n? ? # 查詢? 計算有1-6行有多少個self
:% s/\<name\>/Name/g # 精確匹配單詞
查看全部 -
# 增刪改查
1、增加
Normal模式 a/i/o A/I/O
2、刪除
Normal模式?
x 刪除一個字符
4x 刪除4個字符
d(delete)
daw 刪除單詞和周圍空格(delete around word)
diw 刪除單詞(dw)
dd 刪除行
dt{char} 刪除直到
d$ 刪除到結尾
d0 刪除到開頭
2dd 刪除兩行
u undo 恢復操作
3、修改
Normal模式下
r replace 替換一個字符?
? ? eg: 光標下g ra g->a?
c change?
? ? cw 刪除單詞進入插入模式 change word
? ? ct{char} 刪除到字符,進入插入模式
s substitute 刪除并進入插入模式 eg: 4s 刪除4個字符進入插入模式
R 不斷替換多個字符
S 刪除整行進行插入?
C 刪除整行進行插入
4、查詢
/ 前向搜索
? 反向搜索
n/N 下一個或者上一個
\*/# 當前單詞的前向和后向匹配
搜索結果高亮 :set hls (high light search)
:set incsearch
查看全部 -
111查看全部
-
# 快速移動
Normal模式下
1、字符移動
h左 j下 k上 l右
```
? ? ?^
? ? ?k
< h? ? ?l >
? ? ?j
? ? ?v
```
2、單詞移動
w/W 移動到下一個word/WORD開頭
e/E 下一個word/WORD尾
b/B 回到上一個word/WORD開頭,backword
word 非空白符分割的單詞
WORD 以空白符分割的單詞
:syntax on
3、行間搜索移動
f{char} 移動到char字符上
t{char} 移動到char前一個字符上 until
第一次沒搜到,可以繼續(xù)搜該行
分號; 下一個
逗號, 上一個
F反向搜索
4、水平移動
0 移動到行首第一個字符
^ 移動到第一個非空白字符
$ 移動到行尾
g_ 移動到行尾非空白字符
5、垂直移動
括號() 句子間移動
查看幫助 :help (
{} 段落之前移動
6、頁面移動
gg 文件開頭
G? 文件結尾
ctrl + o 快速返回
H 屏幕開頭head
M 中間middle?
L 結尾lower
ctrl + u upword? 上翻半頁
ctrl + f forword 下翻半頁
zz 把屏幕置為中間,當前行放中間
查看全部
舉報