在Linux下做开发,有两款编辑器众所周知,vim和emacs,至于哪个更好用,功能更强大,只能说仁者见仁,智者见智。本人用的是vim,在这里罗列一些常用的操作,以供查阅。
(注:以下所有操作如果是在普通/命令模式下,则前缀为p_, 如果是在底行模式下,则前缀为:,如果是和terminal有关的,不加前缀或者注明)
p_ gg=G:全文自动格式化对齐
p_ n==:表示从当前行起,下面n行自动对齐
p_ o:在光标所在行下面插入一行
p_ O:在光标所在行上面插入一行
p_ n<命令>:重复执行命令n次
p_ ye :拷贝光标后一个单词
p_ nyy:拷贝从当前行往下的n行(yy默认拷贝当前行)
p_ ndd:剪贴从当前行往下的n行(默认剪贴当前行)
p_ p:粘贴
p_ R:进入替换模式,直到按下Esc,否则可以一直替换
p_ r:替换当前光标所在位置的一个字符,替换完后回到命令模式
p_ cc:删除本行内容并进入插入模式,即替换整行内容
p_ cw:删除一个单词并进入插入模式,即替换一个单词
p_ ~:反转光标所在位置的字母大小写
p_ U:撤销当前行的所有修改,即回到当前行的最初状态
在vim中按ctrl + z:挂起当前进程并放入后台
jobs:显示当前所有暂停的进程
bg %N:使第N个任务在后台运行(%前有空格)
fg %N:使第N个任务在前台运行(同上)
(默认bg,fg不带 %N 时表示对最后一个进程操作)
p_ u:撤销刚才的操作(可以连续撤销以前步骤)
p_ ctrl + r:撤销的恢复
p_ J:将下一行拼接到当前行的末尾
p_ gJ:与上一条不同的是,这个命令拼接后两行之间不会有空格
p_ gg:移动到篇首
p_ G:移动到篇尾部
p_ f<字母> :向后搜索字母并跳转到第一个匹配的位置
p_ F<字母>:向前搜索字母并跳转到第一个匹配的位置
p_ $:将光标跳转到当前行的行尾
p_ 0 / ^:…………………………行首
p_ w:切换到下一个单词的单词首部
p_ b:………上一个…………………
p_ }:跳跃到下一个空行
p_ {: 跳跃到上一个空行
p_ %:从光标当前的左/右括号位置匹配到下一个左/右括号
p_ ndw / nde:删除掉光标后面n个单词(dw默认删除一个单词)
p_ x:删除当前光标位置的一个字符
p_ db:删除光标所在位置到当前单词的首部
p_ dw:……………………………………尾部
p_ di( / di{ / di[ :清空括号’(’ / ‘{’ / ‘[‘内的所有内容(不包括括号本身)
p_ da( / da{ / da[:清空括号以及括号内所有内容
p_ K:查看当前库函数的man手册
p_ nK:查看第n个章节中的当前库函数的帮助手册
p_ v:进入可视化
(此时可以按h,j,k,l来选中从当前位置转移的目标代码,然后可以按其他命令来操作当前代码,如果 看不懂就在vim下操作一下试试)
eg: x:删除
y:复制
shift + < / >:将选中代码段左移或右移一个tab位
p_ ctrl + v:块可视
(从光标当前位置向键入的方向位置发散选中内容,如果没看懂就去vim下试试)
p_ /目标字符/字符串 + enter:查找该字符串(n:下一个 N:上一个)
:noh:退出选中状态
:start,ends/old/new/g:从start行到end行的所有old替换为new(如果不加/g,则只替换选中行
的第一个old为new)
:%s/old/new/g:将全文的old替换为new
eg:50,59s/int/char/:将50-59行每一行的第一个int 替换为 char
50.59s/int/char/g:将50-59行每一行的所有int 替换为 char
:sp 文件名,……(水平分屏显示多个文件)
:vsp 文件名,……(垂直分屏显示多个文件)
(注: 文件名包含文件路径)
ctrl + ww:在不同的屏幕间进行切换
ctrl + w +h/j/k/l:在指定方向屏幕间进行切换
:r 文件名:将另一个文件导入到当前vim打开的文件中光标所在位置
注: 文件名包含文件路径
:w:保存已经写入的内容
:x:保存并退出vim
:行号:光标跳转到指定的行
可以将下面的命令选择性添加到vim的配置文件中(.vimrc)
:set nu:在vim中显示行号
:set nonu:在vim中取消行号
:ce:使本行内容居中
:le:使本行内容靠左
:ri:使本行内容靠右
460

被折叠的 条评论
为什么被折叠?



