以前一直的工做流鼠标键盘,觉得开发就是敲敲点点。16年9月入坑vim
以来,我本身感受开发效率50%
的提高,前期开发模式换为vim
须要适应几个月吧,恶心恶心就过去了。vim
学习曲线了解一下,全部的付出都是值得的。Edit text at the speed of thought
:html
两种选择,推荐1git
1.好用基础版。repo github star
数14k+
,Basic Verison推荐,Vimrc Githubgithub
安装步骤:vim
git clone --depth=1 https://github.com/amix/vimrc.git ~/.vim_runtime sh ~/.vim_runtime/install_basic_vimrc.sh
2.本身写个简单的。须要自定义配置在$HOME
下新建.vimrc
,配置完成后执行source .vimrc
ide
# 开启行号 set number # 注释颜色改成好辨 colors desert # reindent操做(>>\<<)缩进4个空格 set shiftwidth=4 # 敲入tab键时实际占有的列数 set softtabstop=4 # 输入tab时自动将其转化为空格 set expandtab ## 自动缩进模式 set smartindent
如下命令虽然多,大部分都是经常使用的,多练练造成肌肉记忆就行了学习
命令模式下,输入/word
后回车,即查找word,按n
查找下一个匹配单词,按N
查找上一个匹配单词优化
w
下个单词的首部(向后)e
当前光标最近处的单词的尾部(向后)b
当前光标最近处的单词的首部(向前)^
跳转到行的开始daw
删除光标所在单词(delete a word)viwc
可视模式中删除当前单词并插入bdw
删除到下一个单词开头,好比中间有空格啊就删掉了D
当前光标删到行尾d^
当前光标删到行首x
,删除光标所在字符X
,删除光标所在前字符dd
删除本行:1,$d
,删除全部行i
:在当前字符的左边插入I
:在当前行首插入a
:在当前字符的右边插入A
:在当前行尾插入o
:在当前行下面插入一个新行O
:在当前行上面插入一个新行gg
:跳至文件开始G
:跳至文件结束普通模式
yy
复制本行p
粘贴dib
,包括小括号dab
命令模式
:%s/"//g
(匹配到全部"并置为空)command | mens |
---|---|
ctrl + d ctrl + u |
向上 向下滚屏 |
ZZ |
保存并退出 |
:e! |
不保存文件并重载 |
* |
向下查找当前光标所在单词 |
:set hlsearch |
高亮查找内容 |
:noh |
取消高亮 |
:noh |
turn off the highlight until the next search |
viw |
选中当前单词 |
p |
paste |
ciw |
change inner word |
cw |
change the word from the current cursor position |
:set so=999 |
随时使光标位于屏幕中央 |
:set so=0 |
恢复光标位置普通模式 |
ggVGu |
格式化文件大小写 |
u |
撤销 |
ctrl+r |
撤回撤销 |
vim -r *.swp |
对于操做文件时异常退出产生的.swp 或.swo 文件处理 |
ctrl+s |
锁屏 |
ctrl+q |
解锁 |
ggVG |
全选 |
:w !sudo tee % > /dev/null |
编辑完文件准备保存缺发现未有权限保存 |
c |
修改 |
d |
删除 |
y |
复制 |
g~ |
反转大小写 |
gu |
转换为小写 |
gU |
转换为答谢 |
> |
增长缩进 |
< |
减小缩进 |
= |
自动缩进 |
! |
|
ga |
查看当前字符的unicode编码w |
命令 | 用途 |
---|---|
f{char} |
正向移动到下一个{char} |
F{char} |
返向移动到上一个{char} |
t{char} |
正向移动到下一个{char}所在之处的前一个字符 |
T{char} |
返向移动到下一个{char}所在之处的后一个字符 |
; |
重复上次的字符查找命令 |
, |
反转方向查找上次的字符查找命令 |
r
是我较经常使用的命令之一,如91
须要更改成98
,则光标移动到1
上,分别按r8
便可,替换完会马上回到普通模式,至关于经常使用的xi{char}<ESC>
编码
命令 | 用途 |
---|---|
v |
面向字符的可视模式 |
V |
面向行的可视模式 |
<C - v> |
面向列块的可视模式 |
"
" some need be comment
`$` to jump to the end of the line you're on (to be over the opening brace) `v` to begin a selection (V for whole lines) `%` to jump to the matching brace. `j` to go down one line so your cursor is inside the braces you are trying to select `v` to begin a selection (V for whole lines) `i{` select everything inside the braces so `di}`,`ci}`,`vi}` is best practice
1.管道符,重定向(TODO)url
# url https://zh.wikipedia.org/wiki/重定向_(计算机)
2.常见操做符spa
http://vimdoc.sourceforge.net/htmldoc/motion.html#operator
以上文档不定时更新优化。