vim的使用

  • Post author:
  • Post category:其他


1、vim的三种工作模式

命令模式、文本模式 、末行模式


进入文本模式

的各种方式:

i 进入文本模式,光标前插入字符

a 进入文本模式,光标后插入字符

o 进入文本模式,光标所在行的下一行插入

I 进入文本模式,光标所在行的行首插入

A 进入文本模式,光标所在行的行末插入字符

O 进入文本模式,光标所在行的上一行插入字符

s 删除光标所在字符并进入文本模式

S 删除光标所在行并进入文本模式


命令模式

下的光标移动:

h 左移

j 下移

k 上移

l 右移

跳转到指定行:

1.

88G

命令模式下按  88G,跳转到88行

2.

:88

(末行模式)     跳转到88行

跳转到n+1行:命令模式下按

n(n是数字)

(如:在命令模式下输入100会跳转到101行)

跳转文件首: 命令模式下按

gg

跳转文件尾:命令模式下按

G

自动格式化程序:命令模式下按

gg=G

大括号对应:

%

(命令模式)(在for{}语句中,把光标移动到{,在命令模式下输入%,会跳转到},可以判断语句有多少行,,再按%跳回去{。其他括号也可以这样)。

光标移至行首:命令模式下按

0

执行结束,工作模式不变

光标移至行尾:命令模式下按

$

执行结束,工作模式不变

删除光标至行尾:命令模式下按

D

或者

d$

删除光标至行首:命令模式下按

d0

(d:delete)

删除单个字符:命令模式下按

x

执行结束,工作模式不变。

替换单个字符:用

光标移到将待替换的字符



r

(命令模式),再按欲替换的字符

删除一个单词:

dw

(命令模式)

光标置于单词的首字母

进行操作。

删除指定区域:命令模式下按

V

切换为 “可视模式”,使用 hjkl挪移光标来选中待删除区域。  按 d 删除该区域数据。

剪切(删除)并且粘贴指定1行:命令模式下在光标所在行,按

dd

,然后选择某一行按

p

粘贴剪切的那一行内容到光标所在的下一行(按

P

在当前所在行粘贴)。

剪切(删除)并且粘贴指定N行:在光标所待删除首行,命令模式下在光标所在行,按

Ndd

(N是数字),然后选择某一行按

p

粘贴剪切的那N行内容到光标所在的下一行(按

P

在当前所在行粘贴)。

复制一行:yy(nyy复制n行)

粘贴:p:向后、P:向前。

撤回上一步操作:命令模式下按   u

查找:

1. 找 设想内容:命令模式下, 按 “/” 输入欲搜索关键字,回车。使用 n 检索下一个。(如:我想在文本中查找hello这个单词,应该在命令模式下输入:/hello

然后按下回车键,再按下n键

查找跳转到下一个hello)

2. 找 看到的内容:命令模式下,将光标置于单词任意一个字符上,按 “*”  “#” 。(如:我想在文本中查找hello这个单词,应该在命令模式下,应该把光标移动到hello这个单词中的任意一个字母h、e、l、l、o按下*查找下一个hello,按下#查找上一个hello)


替换:

单行替换:将光标置于待替换行上, 进入末行模式,输入 :s

/

原数据

/

新数据。如::s /printf/println/g

通篇替换:末行模式, :%s

/

原数据/新数据/g   g:不加,只替换每行首个。如::%s /printf/println/g

指定行的替换:末行模式, :起始行号,终止行号s /原数据/新数据/g   g:不加,只替换每行首个。 如::29,35s /printf/println/g(把29到35行的所有printf替换成println,不加g就只替换每行首个printf)


分屏:


sp:横屏分。 Ctrl+ww 切换。:q   退出

vsp:竖屏分。Ctrl+ww 切换。:q   退出

跳转至 man 手册:将光标置于待查看函数单词上,使用 K(命令模式)跳转。 指定卷n, nK

查看宏定义:将光标置于待查看宏定义单词上,使用 [d 查看定义语句。

在末行模式执行shell命令::!命令    如:  :! ls -l


vim的配置



https://www.cnblogs.com/willwuss/p/12283443.html



版权声明:本文为weixin_51110641原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。