本文转自:http://blog.csdn.net/hexrain/article/details/10032543
Linux终端快捷键
在.bashrc中加入下面命令可以改变终端快捷键
set -o emacs "使用emacs快捷键设置
set -o vi "使用vim快捷键设置
详细使用方法可参考书籍:
Vim快捷键壁纸
VIM快捷键
` 跳转到标注处,需后续参数
~ 转换大小写,已经大写则转为小写,已经小写则转为大写
! 外部过滤器,需后续参数
@ 运行宏,需后续参数
#,* 下一个和上一个查找标记(同时高亮光标所在词)
$,^,0,-,+ 分别是行尾,软行首,硬行首,前一行首,后一行首
% 括号比配(在匹配的括号之间跳转,若无跳转则尚不匹配)
& 重复查找(:s)
; 重复/t/T/f/F命令的执行
" 寄存器表示
| 行首/列
< 反缩进
> 缩进
( 上一个段落首
) 下一个段落首
= 自动格式化(调整缩进)
{ 当前段落首
} 当前段落尾
[ Ctrl+[等效于ESC
/ 向下查找
? 向上查找
. 重复前一次操作
num 0以外的其他数字输入后按空格,则是向后移动字符数,按回车则是行数
在插入模式下按Alt+j或k或其他按键,可以直接转至一般模式,同时部分按键在转至一般模式前起作用,
因此不必非要通过ESC或者Ctrl+[转至一般模式!
A,a 转为插入模式,光标后,行末
B,b 前一单词首
C,c 删除至行末,删除行,后转为插入模式(cw)
D,d 删除至行末,删除行或词(dd,ndd,d1gg,dgg,d0,d$,dw,de,db,dh)
E,e 后一单词尾(ge前一单词尾)
F,f 行内单个字符查找,反向,正向
G,g 光标至文件尾,gg至文件首(ngg或nG为跳转至第n行,gf为打开光标处文件名)
H,h 光标移至屏幕顶,左移光标
I,i 转为插入模式,光标至行首,光标在当前处
J,j 合并两行(当前行和下一行),下移光标
K,k 打开帮助,上移光标
L,l 光标移至屏幕底,右移光标
M,m 光标移至屏幕中间,设置标注(需要其他参数)
N,n 向下和向上重复之前?与/查找的内容
O,o 插入新空行,并转为插入模式
P,p 向前与向后粘贴((Ctrl+p为自动完成提示)
R,r 替换模式,替换字符(Ctrl+r,重做上一次操作)
S,s 转为插入模式,之前删除行,删除字符
T,t Back till, till
U,u 撤销命令
V,v 行选择与字符选择(Ctrl+v可以块选择)
W,w 后一单词首
X,x 退格,删除字符(nX,nx,删除后的内容可用p复制)
Y,y 复制(用法见D,d,其他如yw,ye,yb,yge,yny等)
Z,z 退出与附加命令(ZZ保存退出,ZQ不保存退出, zt移动光标至屏幕顶端,但不变换行,zb屏幕底,zz为中间)
daw
C-w C-h C-u C-o
g~ gu gU
yt<char>
<C-r>0
gk gj
W,B,E,GE
选择模式下:
va} va] va) va> va" vat
vi} va] vi) vi> vi" vit
ci} ci] ci) ci> ci"
其他重要命令如下:
Ctrl+F/B 上翻/下翻屏幕
Ctrl+E/Y 上滚/下滚屏幕
:h 帮助
:new 新建文件
:e filename 打开文件
:n1 n2s/word1/word2 将n1到n2行之间所有word1替换为word2
:1 $s/word1/word2 全文中所有word1替换为word2
:w filename 存盘
:r filename 读取文件
:n1,n2 w filename 行n1到n2之间内容存盘
:! command 执行终端命令
:n1,n2y 从16行到24行执行复制,y也可以是d
Ctrl+X 代码智能补全与提示(后续指令有Ctrl+L补全行,Ctrl+I补全当前文中出现的词汇等)
Ctrl+P与Ctrl+N 均为代码提示
:n与:N 前一个与后一个编辑的文件
c+w+j/k 下一个窗口,上一个窗口
:tabnew 新开tab页
gt, gT 前后tab页切换
:cpen :cc N :cnext :cprev :cclose
VIM函数名高亮配置
VIM默认情况下,函数名是不会高亮的,将下面这段代码添加到/usr/share/vim/vim73/syntax/c.vim文件的末尾即可:
"highlight Functions
syn match cFunctions "\<[a-zA-Z_][a-zA-Z_0-9]*\>[^()]*)("me=e-2
syn match cFunctions "\<[a-zA-Z_][a-zA-Z_0-9]*\>\s*("me=e-1
syn match cOperators "[\=\,\&\*\;\?\:]"
会后在.vimrc或.vim文件中hi cFunctions ctermfg...即可设置颜色
要高亮其他部分都可以按此方法自行定义
其他
Some Example:
var s = method("+args+")
f+
s + <ESC>