vim 快捷键


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

相关文章
相关标签/搜索