1.多行注释:python
1. 首先按esc进入命令行模式下,按下Ctrl + v,进入列(也叫区块)模式;编程
2. 在行首使用上下键选择须要注释的多行;vim
3. 按下键盘(大写)“I”键,进入插入模式;ide
4. 而后输入注释符(“//”、“#”等);ui
5. 最后按下“Esc”键。编码
注:在按下esc键后,会稍等一会才会出现注释,不要着急~~时间很短的spa
2.删除多行注释:插件
1. 首先按esc进入命令行模式下,按下Ctrl + v, 进入列模式;命令行
2. 选定要取消注释的多行;3d
3. 按下“x”或者“d”.
注意:若是是“//”注释,那须要执行两次该操做,若是是“#”注释,一次便可
3.多行删除
1.首先在命令模式下,输入“:set nu”显示行号;
2.经过行号肯定你要删除的行;
3.命令输入“:32,65d”,回车键,32-65行就被删除了。
4.多行拷贝
1.首先在命令模式下,输入“:set nu”显示行号;
2.经过行号肯定你要拷贝的行;
3.命令输入“: 10,12 co 15”,回车,10-12行被拷贝到了第15行。
5.多行移动
操做同多行删除
4.将光标移到待粘贴代码的位置,按字母“p”,刚刚删除的代码被粘贴至这里
6.撤消操做
在命令模式下按字母“u”
/===========================================================================================/
7.基本移动
h(左箭头)j(下箭头)k(上箭头)l(右箭头)
0 至行首
$ 到行尾
w/W 至下一个单词的词首
e/E 到下一个单词的词尾
b/B 至前一个单词的词首
ge 至前一个单词的词尾
f 在当前行内,向行尾处定位到符合的字符。
如:class ChurnTest < Test::Unit::TestCase 光标当前在ChurnTest的字母e处,按下fe,光标定位至Test的字母e处。
F 在当前行内,向行首处定位到符合的字符。
如:class ChurnTest < Test::Unit::TestCase 光标当前在Test的字母e处,按下Fe,光标定位至ChurnTest的字母e处。
t 在当前行内,向行尾处定位到符合的字符的后一个字母处。
如:class ChurnTest < Test::Unit::TestCase 光标当前在ChurnTest的字母e处,按下te,光标定位至Test的字母s处。
T 在当前行内,向行首处定位到符合的字符的前一个字母处。
如:class ChurnTest < Test::Unit::TestCase 光标当前在Test的字母e处,按下Te,光标定位至ChurnTest的字母T处。
**以上字母(w/W,e/E,b/B,ge,f,F,t,T)前都可加数字,指定到第几个符合条件的字符处。
CTRL + f 向下翻页
CTRL + b 向上翻页
CTRL + d 向下翻半页
CTRL + u 向上翻半页
H 不翻屏,在当前屏,移至屏首
M 不翻屏,在当前屏,移至屏中
L 不翻屏,在当前屏,移至屏尾
gg 光标定位至页首
G 光标定位至页尾
* G前可添加数字,光标跳转到指定行数的行首
如:5G 光标定位至第5行的行首
*和# 全局查找指定的字符或单词,查找到的单词高亮显示。
如:在下面代码中,想查找全部test单词,将光标定位至第一行test上,按下*或者#键,代码中全部test单词会高亮显示。
1 require 'test/unit'
2 require_relative 'churn'
3
4 class ChurnTest < Test::Unit::TestCase
5 def test_month_before_is_28_days
6 assert_equal(Time.local(2005,1,1),
7 month_before(Time.local(2005,1,29)))
8 end
9
10 def test_header_format
11 assert_equal("Changes since 2005-08-05:",
12 header(month_before(Time.local(2005,9,2))))
13 end
14 end
/或?指定输入搜索。输入/或?后须要查询的字符,再按下回车键。按字母n或者N继续查找。
[[ 向上找方法或类,光标定位至方法或类的开始位置
]] 向下找方法或类,光标定位至方法或类的开始位置
[] 向上找方法或类,光标定位至方法或类的结束位置
][ 向下找方法或类,光标定位至方法或尖的结束位置
% 快速定位匹配成对出来的{}或[]等。
* %前可添加数字,表示快速定位至第一个成对的符号
m 添加标记。光标定位至须要添加标记的地方,按下m后回车,添加标记
· 跳至标记处
' 跳至标记行
/===========================================================================================/
8.基本编辑
i 在光标当前位置插入
I 在行首插入
a 在光标后插入
A 在行尾插入
o 光标下一行插入
O 光标上一行插入
x 向后删除一个字符
X 向前删除一个字符
dd 删除当前一行
.(英文符号) repeat重复操做。如执行dd后,按下.键,继续向下一行删除
D 光标当前位置至行尾所有删除
dw 删除一个单词
de 删除一个单词,连带单词后的空格符一同删除
cw 修改一个单词
cnw (n为数字) 修改n个单词
C 从光标处到行尾位置,所有进行修改
r 替换光标所在位置的一个字符 如光标定位在单词change的字母g处,按下re,将g替换为e,单词变为chanee
R 从光标位置开始到行尾,可所有进行替换。
其中,x,X,dd,dw,de,r前匀可带数字。如3dw 表示删除3个单词;3r 表示替换3个字母
yy 拷贝当前行
Y 拷贝选中的全部内容
p/P 粘贴
np/nP(n为数字)将拷贝的内容粘贴数字n次
J/gJ 合并行,将下一行合并上来。J产生一个空格符,g/J不产生空格符
v/V/ctrl+v 进入visual modes.其中 v 进行字符选中,V 进行行选中, ctrl+v 进行代码块选中
/===========================================================================================/
9.多文件操做
缓冲文件操做
vim * 打开当前目录下的全部缓冲文件。
vim m* 打开当前目录下m开头的全部缓冲文件
:ls 查看缓冲文件(%a 表示当前正在打开的文件,#h 表示上一次打开的文件)
:ls! 显示少许的缓冲文件
:b n(n为数字) 打开第几个缓冲文件 如::b 2 打开第二个缓冲文件(churn.rb文件)
:b 文件名 打开指定的文件
:b# 对于已打开的文件相互切换
:bd 删除正在打开的缓冲文件
:bd n(n为数字) 删除第几个缓冲文件
:bd 文件名 删除指定的文件
:bd n m 删除序号为n和m的文件 如 :bd 2 3 删除第二和第三个文件
: n m bd 序号从n到m的缓冲文件被删除
:%bd 除正在打开的文件外,删除全部缓冲文件
:e 文件路径+文件名 打开指定路径下的文件
:split (或者:sp) 文件路径+文件名 横向分屏显示,新文件占下半屏
:vsp 文件路径+文件名 竖向分屏显示,新文件占右半屏
ctrl+w+x 文件在上下屏切换
ctrl+w+s 同:sp
ctrl+w+v 竖向分屏,同:vsp
ctrl+w+h 切换到左半屏
ctrl+w+j 切换至下半屏
ctrl+w+k 切换到上半屏
ctrl+w+l 切换到右半屏
ctrl+w+h,j,k,l 前都可添加数字(n),表示切换到第n屏
ctrl+w+c 撤消前一步分屏操做
ctrl+w+o 撤消全部分屏,只显示一屏
ctrl+w+H 将文件移到左半屏
ctrl+w+J 将文件移到下半屏
ctrl+w+K 将文件移到上半屏
ctrl+w+L 将文件移到右半屏
/===========================================================================================/
10.vim help使用
:help/:h/F1 打开帮助文件
:help topic-name 直接跳转到指定的topic处
ctrl+J 跳转到某个超连接
ctrl+T 返回上一个超连接
/===========================================================================================/
11.vimrc file和runtimepath directory
:help vimrc
:help runtimepath
:help helptags
/===========================================================================================/
12.insert mode
:help i
CTRL+W 删除光标前一个单词
CTRL+A 删除光标前一个单词
CTRL+T 整行向右移
CTRL+D 整行向左移
CTRL+V
CTRL+N 自动补全
CTRL+P 自动补全
CTRL+F 加载文件自动补全
:%s/xxx/yyy/g 批量替换 xxx须要替换的字符串,yyy为替换后的字符串,g表示全局替换
/===========================================================================================/
13
:saveas 目录/文件名 将正在打开的文件存入指定目录下并指定文件名
如:正在打开的文件为ex1.py
:saveas /tmp/test.txt 将正在打开的ex1.py存入tmp目录下并重命名为test.txt。并且同时打开这个重命名的文件
:filetype能够查看Vim的文件类型检测功能是否已打开,默认你会看到:detection:ON plugin:OFF indent:OFF
detection:默认状况vim会对文件自动检测文件类型,也就是你看到的'detection:ON',一样你能够手动关闭:filetype off
plugin:若是plugin状态时ON,那么就会在Vim的运行时环境目录下加载该类型相关的插件。好比为了让Vim更好的支持Python编程,你就须要下载一些Python相关的插件,此时就必须设置plugin为ON插件才会生效,具体设置方法就是:filetype plugin on
indent:不一样类型文件有不一样的方式,好比Python就要求使用4个空格做为缩进,而c使用两个tab做为缩进,那么indent就能够为不一样文件类型选择合适的缩进方式了。你能够在Vim的安装目录的indent目录下看到定义了不少缩进相关的脚本。具体设置方法:filetype indent on
以上三个参数,能够写成一行filetype plugin indent on设置在_vimrc文件中。
:set filetype 查看当前文件类型
:set filetype = python 将当前文件类型设置为tython
:set fileencoding 查看当前文件的编码格式
:set fileencoding=utf-8 将文件编码格式转为utf-8