三种模式:命令模式,末行模式,文本模式
命令模式:
i : 当前位置插入
I : 当前行首插入
o : 下面加一行,在下一行插入
O : 上面加一行,在上一行插入
a : 在当前位置后一格插入(有卵用?)
A : 在当前行尾插入
s : 删除当前位置字符,在当前位置插入
S : 删除当前一行,在行首插入
跳转到指定行:
- 88G (命令模式)
- :88(末行模式)
调整代码格式: gg=G (命令模式)
大括号对应: % (命令模式)
光标移到行首:0(工作模式不变)
光标移到行尾:$(工作模式不变)
移动到首部:gg
移动到尾部:G
ctrl-d 向下移动半页
ctrl-u 向上移动半页
命令模式下删除:
单个字符:x(工作模式不变)
替换单个字符:r -> 带替换字符(工作模式不变)
删除一个单词:dw(工作模式不变,光标放在单词的首字母操作)
删除光标后的内容到行尾:D 或 d$ (工作模式不变)
删除光标后的内容到行首:d0 (工作模式不变)
删除指定区域:按 v 进入可视模式,使用hjkl移动光标来选中待删除区域
删除指定N行:Ndd
复制当前行: yy
黏贴:p(黏贴到光标所指的下一行)
P(黏贴到光标所指的上一行)
查找:
- 找已知内容: / + "whatever you want
- 找看到的内容:将光标放在任意一个单词任意位置,按 *
单行替换: 光标放在待替换行上 : s /旧串/新串/g (/g如果不加,就只会替代每行的首个)
全文替换 : : s% /旧串/新串/g
指定行替换::起始行,终止行s /旧串/新串/g
末行模式下看上一条命令 : ctrl + p, 看下一条 : ctrl + n
撤销: u
反撤销: ctrl + r
分屏::sp(横屏) ctrl+ww(切换) :q(退出分屏模式):vsp(竖屏)
跳转至man手册:命令模式下,光标放在待查单词,按 K。指定卷n,按 nK
查看宏定义:命令模式下,光标放在待查单词,按 [d
复制全文:命令模式下 ggyG
在末行模式执行shell命令 : :![order]
打开某个文件时快速回到上一次修改的地方:gi
/etc/vim/vimrc
set number
set autoindent
set tabstop=4
set shiftwidth=4
set incsearch
geany
解决ubuntu 16.04下没有terminal的问题:
sudo apt-get install libvte9
找不到mysql.h :
sudo apt-get install libmysqlclient-dev
没有pthread_cond_wait :
sudo apt-get install manpages-posix-dev
Jetbrain的IDE相关的问题
- 无法让外部文本黏贴进内部
输入以下指令
:set clipboard=unnamed