vim basic operation

1. 命令行模式的操作 命令行模式提供了相当多的按键及组合按键来执行命令,帮助用户编辑文件。由于这些命令相当多,在此仅作简单介绍。

(1) 移动光标

在命令行模式和插入模式下,都可以使用上、下、左、右 4 个方向键来移动光标的位置。但是有些情况下,如使用 telnet 远程登陆时,方向键就不能用,必须用命令行模式下的光标移动命令。这些命令及作用见表 2-1

 

2-1  常用的移动光标的命令

   

操 作 说 明

h

将光标向左移动一格

l

将光标向右移动一格

j

将光标向上移动一格

k

将光标向下移动一格

0

将光标移动到该行的最前面

$

将光移动到该行的最后面

G

将光标移动到最后一行的开头

Ww

将光标移动到下一个字

e

将光标移动到本单词的最后一个字符。如果光标所在的位置为本单词的最后一个字符,则跳动到下一个单字的最后一个字符。标点符号如“ . ”、“ , ”或“ / ”等字符都会被当成一个字

b

将光标移动到单词的最后一个字符,如果光标所在位置为本单词的第一个字符,则跳到上一个单词的第一个字符

{

将光标移动到前面的“ { ”处。在 C 语言编程时,如果按两次就会找到函数开头“ { ”处,如果再次连续按两次还可以找到上一个函数的开头处

}

同“ { ”的使用,将光标移动到后面的“ }

Ctrlb

如果想要翻看文章的前后,可以使用 Page DownPage Up ;但当这两个键不能使用时,可以使用 Ctrlb 将光标向前卷一页,相当于 Page Up

Ctrlf

将光标向后卷一页,相当于 Page Down

Ctrlu

将光标向前移半页

Ctrld

将光标向后移半页

Ctrle

将光标向下卷一行

Ctrly

将光标向后卷一行

N\

将光标移至第 n(n 为数字 )

(2) 复制文本

复制文本可以节省重复输入的时间, vim 也提供了以下的操作命令,见表 2-2

2-2  常用的复制文本的命令

   

操 作 说 明

yy

将光标目前所在的位置整行复制

yw

复制光标所在的位置到整个单词所在的位置

nyw

若输入 3yw ,则会将光标所在位置到单词结束以及后面两个单词 (3 个单词 ) 一起复制

nyy

若按 3yy ,则将连同光标所在位置的一行与下面两行一起复制

p

将复制的内容粘贴光标所在的位置。若复制的是整行文本,则会将整行内容粘贴到光标所在的位置

(3) 删除文本

删除文本命令一次可删除一个字符,也可以一次删除好几个字符或是整行文本,见表 2-3

2-3  常用的删除文本的命令

   

操 作 说 明

d +左方向键

连续按 d 和左方向键,将光标所在位置前一个字符删除

d +右方向键

将光标所在位置字符删除

d +上方向键

将光标所在位置行与其上一行同时删除

d +下方向键

将光标所在位置行与下一行同时删除

dd

连按两次 d ,可将光标所在的行删除,若是连续删除,可以按住 d 不放

dw

删除光标所在位置的单词,若是光标在两个字之间,则删除光标后面的一个字符

ndd

删除包括光标所在行及向下的 n(n 为数字 )

nd +上方向键

删除包括光标所在行及向上的 n

nd +下方向键

ndd 命令

D

将光标所在行后所有的单词删除

x

将光标所在位置的字符删除

X

将光标所在位置前一个字符删除

nx

删除光标所在位置及其后的 n 个字符

nX

删除光标所在位置及其前的 n 个字符

 

(4) 找出行数及其他按键

当我们编写程序时,常常需要跳到某一行去修改,因此每一行的行号就相当重要。 vim 为此提供的命令见表 2-4

2-4  常用的找出行数的命令

   

操 作 说 明

Ctrlg

在最后一行中显示光标所在位置的行数及文章的总行数

nG

将光标移至 n(n 为数字 )

修改光标所在字符

R

修改光标所在位置的字符,可以一直替换字符,直到按下 ESC

u

表示复原功能

U

取消对行所做的所有改变

.

重复执行上一命令

ZZ

连续两次输入 z ,表示保存文件并退出 vi

%

符号匹配功能,在编辑时,如果输入“ %( ”,系统将会自动匹配相应的“ )

2. 命令行模式切换到输入模式

进入 vim 时,默认的模式是命令行模式,而要进入输入模式输入数据时,可以用下列按键:

       按“ a ”键   从目前光标所在位置的下一个字符开始输入。

       按“ i ”键   从光标所在位置开始插入新输入的字符。

       按“ o ”键   新增加一行,并将光标移到下一行的开头。

3. 最后行模式的操作

vim 的最后行模式是指可以在界面最底部的一行显示的输入命令,一般用来执行查找特定的字符串、保存及退出等任务。在命令行模式下输入冒号“:”,就可以进入最后行模式了,还可以使用“?”和“ / ”键进入最后行模式。比起命令行模式的诸多操作命令,最后行模式的操作命令就少多了,见表 2-5

2-5  最后行模式主要的操作命令

   

操 作 说 明

e

vi 中编辑时,可以使用 e 创建新的文件

n

加载新文件

w

写文件,也就是将编辑的内容保存到文件系统中。 vim 在编辑文件时,先将编辑内容保存在临时文件中,如果没有执行写操作直接退出的话,修改内容并没有保存到文件中

w

如果想写只读文件,可以使用 w !强制写入文件

q

表示退出 vim ,但是文件内容有修改的话,系统会提示要先保存,如果不保存退出,需要使用命令 q !强制退出

set nu

set 可以设置 vim 的某些特性,这里是设置每行开头提示行数。想取消设置,使用命令 set none

/

查找匹配字符串功能。在编辑时,想查找包含某一个字符串,可以用“ / 字符串”自动查找,系统会突出显示所有找到的字符串,并转到找到的第一个字符串。如果想继续向下查找,可以按 n 键;向前继续查找则按 N

也可以使用“?字符串”查找特定字符串,它的使用与“ / ”相似,但它是向前查找字符串

 

4. vim 的注意事项

由于 Linux 系统的 vim 编辑器是从 UNIX 下的 vi 发展而来的,而 UNIX 下的 vi 编辑器是从行编辑器 ed 发展而来的。因此, vim 不如目前流行的微软推出的同类编辑器易用、直观,但是它的强大功能却是微软同类产品无法比拟的。因此一些人学习时可能会感到有一些不便和困惑。针对这类问题,这里列出了使用 vim 中应注意的一些事项。当然要熟练使用 vim ,还需要平时操作中不断地提高和积累。

       插入编辑方式和命令方式切换时出现混乱

这种情况产生的原因通常是:还未输入插入命令便开始进行文本输入,从而无法在正确位置输入文本;另外,当插入信息后,还未按 Esc 键结束插入方式,就又输入其他的命令信息,从而使命令无法执行。

当出现这种情况时,首先要确定自己所处的操作方式,然后再确定下一步做什么工作。若不易搞清楚当前所处的状态,还可以使用 Esc 键退回到命令方式重新进行输入。

       在进行文档编辑时, vim 编辑器会产生混乱

这种状态的产生往往是由于屏幕刷新有误,此时可以使用 Ctrll 键对屏幕进行刷新,如果是在终端, 可以用 Ctrlr 进行屏幕刷新。

       对屏幕中显示的信息进行操作时,系统没有反应。

  出现这种情况可能是由于屏幕的多个进程被挂起 ( 如不慎用了 Ctrls 键等 ) ,此时可用 Ctrlq 进行解脱,然后重新进行输入。

       当编辑完成后,不能正确退出 vim

出现这种情况的原因可能是系统出现了意外情况。如:文件属性为只读 、用户对编辑的文件没有写的权限。如果强行执行退出命令“: w !”仍无法退出,可以用“: w newfile ”命令将文件重新存盘后再退出,以减少工作中的损失,这个新文件 newfile 应是用户有写权限的文件。

如果暂时没有可以使用的文件,可以借用 /tmp 目录建一个新的文件。因为 Linux 系统中的 /tmp 是一个临时目录,系统启动时总要刷新该目录,因此操作系统一般情况下不对此目录下进行保护。但当处理完成后,切记应将新文件进行转储,否则依然会造成信息损失。


--From Linux C programming (csdn)


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值