标签:保留 ast 字符 ctrl+h 个数 ctr abc ring set
vim默认模式为normal模式
esc: insert->normal
在normal模式下,输入
:
,进入命令模式
y
复制,p
粘贴s:表示替换,%表示全文搜索,将foo替换成bar,g表示全局替换
insert模式
ctrl+H:删除上一个字符[insert]
代码高亮:syntax on
行内搜索,f{char},使用;
进入下一个
水平移动,移动到行首,行尾,^/0
$,移动到行尾
(),{}
gg/GG
,文件开头,结尾移动到页面Head,middle,lower
daw,diw
vim aa bb
:ls
:b 1
:bpre
:bnext
# 分割
:vs
:sp
# 切换
ctrl+w+w
ctrl+w+'hjkl'
:vs bb.txt # 分割窗口编辑bb.txt
# 移动窗口
Ctrl+w+L
:tabnew bb.txt # 打开新标签页
# 切换
gt
tabc # 关闭当前标签页中的所有窗口
tabo[only] # 只保留当前标签页
:tabe[edit] file # 在新标签中打开文件
:% s/string/string/[g,c,n]
# g:全局
# c:confirm
# n:查询个数
:% s/\<hello\>/Hello/g # 全局匹配,正则(单词hello),替换
-v
vi[w,char]
#
print('hello world')
vi' # 选中单引号中的所有字符
# a = {'name':'',xxx}
ci{
# 选中整行
Shift+V
# 局部选中
v+方向键
# 赋值
y
# 粘贴
p -- 当选中整行(yy,V,dd)赋值到下一行
P -- 当选中整行(yy,V,dd)复制到上一行
# 赋值当前行
yy
代码格式对其你
:set autoindent
:set paste ,粘贴代码是不乱
gg + V + G
什么以映射?把一个操作映射到另一个操作
-
代替x
:map - x
:map <space> viw
:map <c-d> dd
set number
set tabstop=4
" 穘ormal模式下,非递归方式
nnoremap <c-d> dd " 删除行
nnoremap <C-h> <C-w>h
nnoremap <C-j> <C-w>j
nnoremap <C-k> <C-w>k
nnoremap <C-l> <C-w>l
" 插入模式
imap <c-d> <Esc>ddi " 删除?
imap <c-l> <Esc>Vyp<c-o> " 赋值一行
inoremap jj <Esc>`^ " 进入normal模式,同时光标定位到上次编辑的地方
" mommand
com! Fmtjson %!python -m json.tool
标签:保留 ast 字符 ctrl+h 个数 ctr abc ring set
原文地址:https://www.cnblogs.com/zhuxiang1633/p/12272779.html