vim
vim常用快捷键
:n,m< 缩进tab
:n,m> 扩展tab
u 撤销上一步的操作
Ctrl+r 恢复上一步被撤销的操作
vim配置文件
" 符号为vimrc中的注释标识
"设置不兼容vi,使用vim扩展功能
set nocompatible
"indent: 如果用了:set indent,:set ai 等自动缩进,想用退格键将字段缩进的删掉,必须设置这个选项。否则不响应。
"eol:如果插入模式下在行开头,想通过退格键合并两行,需要设置eol。
"start:要想删除此次插入前的输入,需设置这个。
set backspace=indent,eol,start
"set number 设置行号
"set nonu 取消行号
set nu
" 禁止生成备份文件
set nobackup
" 检测文件的类型
filetype on
filetype plugin on
filetype plugin indent on
" 记录历史行数
set history=1000
" 语法高亮显示
syntax on
" 设置高亮匹配
set hlsearch
" 自动对齐
set autoindent
" 使用c/c++语言的自动缩进方式
set cindent
" 智能对齐
set smartindent
set tabstop=4
set shiftwidth=4
"设置匹配模式
set showmatch
"显示光标位置
set ruler
" 打开文件的时候进行解码的猜测列表。文件编码没有百分百正确的判断方法,所以vim只能猜测文件编码。
set fileencodings=utf8,gb2312
"ctags设置
set tags=tags;
shell
控制命令
Ctrl + l:清屏(与clear命令效果相同)
Ctrl + o:执行当前命令,并选择上一条命令
Ctrl + s:阻止屏幕输出(当前正在执行的命令不在打印信息)
Ctrl + q:允许屏幕输出(使用Ctrl+s命令后,可以用Ctrl+q恢复)
Ctrl + c:终止当前正在执行的命令
Ctrl + z:挂起命令,把当前进程转到后台运行,使用fg命令恢复。
Ctrl + d : 退出当前 Shell S、Q、C、Z 是由终端设备处理的,可用 stty 命令设置。
编辑命令
Ctrl + a :移到命令行首
Ctrl + e :移到命令行尾
Ctrl + f :前移(向右移动)一个字符
Ctrl + b :后退(向左移动)一个字符
Alt + f :前移(向右移动)一个单词
Alt + b :后退(向左移动)一个单词
Ctrl + xx:在命令行首和光标之间移动
文本修改
tab : 自动补全命令
Ctrl + u :从光标处删除至命令行首
Ctrl + k :从光标处删除至命令行尾
Ctrl + w :从光标处删除至字首
Alt + d :从光标处删除至字尾
Ctrl + d :删除光标处(或光标后)的字符(如果光标前后都没有字符,即命令行为空的时候,则会退出shell)
Ctrl + h :删除光标前的字符(与backspace键相同)
Alt + Backspace:与 Ctrl + w 类似,分隔符有些差别
Ctrl + y :粘贴至光标后
改变大小写
Alt + c :从光标处更改为首字母大写的单词
Alt + u :从光标处更改为全部大写的单词
Alt + l :从光标处更改为全部小写的单词
交换字符、单词位置
Ctrl + t :交换光标处和之前的字符(ESC+t相同)
Alt + t :交换光标处和之前的单词
重新执行命令
Ctrl + p:历史中的上一条命令
Ctrl + n:历史中的下一条命令
Alt + .:使用上一条命令的最后一个参数(会直接在当前光标位置显示)
Ctrl + r:搜索之前使用过的命令
Ctrl + g:从历史搜索模式退出
Bang (!) 命令
Bang命令算不上快捷键键,但是使用可以快捷的进行一些操作,比如重新执行之前命令、修改上一条命令并执行等等。
!!:执行上一条命令
!cc:执行最近的以cc开头的命令,如!l会执行ls命令
!$:打印上一条命令的最后一个参数,并回车执行。与Alt + .相似,但是会自动执行
!*:上一条命令的所有参数 !cc:p:仅打印以!cc的输出,但不执行,如!l:p会显示ls
!$:p:打印输出!$的输出
^blah:删除上一条命令中第一个blah,然后执行
^blah^foo:将上一条命令中的 blah 替换为 foo,然后执行
^blah^foo^:将上一条命令中所有的 blah 都替换为 foo,然后执行