(复制的别人的) 

vim复制,粘贴,删除,撤销,替换,光标移动等用法

张映 发表于 2010-11-30

分类目录: linux

我接触linux的时候,用的是nano这个文本编辑器,个人觉得他的最大优点就是方便,快速。打开文件,修改文件,到退出都十分的快速,简单。这一点上比vi,vim要强,但是nano不能显示彩色字,不能进行整行删除,编辑各种配置文件的时候,总感觉不是很方便。针对于nano的这些缺点,vim可以很好的解决,并且vim打开文件,里面的字是有颜色的,这一点根editplus,eclipse是一样的,对于做程序的来说,就比较爽了。下面的操作,都是命令状态下进行的,不要进入插入状态了,如果进入了插入状态,[Esc]退出输入状态

一,光标移动

大家不要觉得光标移动不重要,其实它是基础,更好的光标移动,复制,粘贴,删除等才能更加的得心应手,进入了编辑器里面后,鼠标就不能用了。

光标移动
h 或 向左箭头键(←)

20h或者20(←)

光标向左移动一个字符

光标向左移动20个字符,

j 或 向下箭头键(↓)

20j或者20(↓)

光标向下移动一行

光标向下移动20行,

k 或 向上箭头键(↑)

20k或者20(↑)

光标向上移动一行

光标向上移动20行,

l 或 向右箭头键(→)

20l或者20(→)

光标向右移动一个字符

光标向右移动20字符,

在这里要注意一点的是,不要用小键盘输入数字,不然就会直接输入模式了.个人觉得掌握上面的这些,基本上能满足我们对光标移动的要求了,看下图

vim

我们可以根据编辑器右下角的数字来判断,我们要跳转到哪一行,如果想更精确的话,:set nu 设置一下环境变量,让它显示行号是最好的

Ctrl + f 屏幕『向下』移动一页,相当于 [Page Down]按键 (常用)
Ctrl + b 屏幕『向上』移动一页,相当于 [Page Up] 按键 (常用)
Ctrl + d 屏幕『向下』移动半页
Ctrl + u 屏幕『向上』移动半页
Ctrl + e 屏幕『向下』移动一行
Ctrl + y 屏幕『向上』移动一行
+ 光标移动到非空格符的下一列
- 光标移动到非空格符的上一列
n<space> 那个 n 表示『数字』,按下数字后再按空格键,光标会向右移动这一行的 n 个字符。例如 20<space> 则光标会向后面移动 20 个字符距离。
n<Enter> n 为数字。光标向下移动 n 行(常用)
0 或功能键[Home] 这是数字『 0 』:移动到这一行的最前面字符处 (常用)
$ 或功能键[End] 移动到这一行的最后面字符处(常用),这里的$在正则里面表示是结尾的意思,这样理解一下就能记住
H 光标移动到这个屏幕的最上方那一行的第一个字符,H你就把它记成是header的缩写,这样就好记了
M 光标移动到这个屏幕的中夬那一行的第一个字符,M你就把它记成middle的缩写
L 光标移动到这个屏幕的最下方那一行的第一个字符,L你就把它记成last的缩写
G 移动到这个档案的最后一行(常用)
nG n 为数字。移动到这个档案的第 n 行。例如 20G 则会移动到这个档案的第 20 行
gg 移动到这个档案的第一行,相当于 1G 啊! (常用)

二,删除,复制,粘贴,撤销

删除,复制,粘贴,撤销
x, X 在一行字当中,x 为向后删除一个字符 (相当于 [del] 按键), X 为向前删除一个字符(相当于 [backspace] 亦即是退格键) (常用)
nx

nX

n 为数字,连续向后删除 n 个字符。举例来说,我要连续删除光标后 10 个字符, 『10x』。

n 为数字,连续删除光标前面的 n 个字符。举例来说,我要连续删除光标前的 10 个字符, 『10X』。

dd

yy

删除光标所在的那一整行(常用),

复制光标所在的那一行(常用)

ndd

nyy

n 为数字。删除光标所在行向下 n 行,例如 20dd 则是删除 20 行(常用)

n 为数字。复制光标所在行向下 n 行,例如 20yy 则是复制 20 行(常用)

d1G

y1G

删除光标所在行到第一行的所有数据

复制光标所在行到第一行的所有数据

dG

yG

删除光标所在行到最后一行的所有数据

复制光标所在行到最后一行的所有数据

d$

y$

删除光标所在处,到该行的最后一个字符

复制光标所在的那个字符到该行行尾的所有数据

d0

y0

那个是数字的 0 ,删除光标所在处,到该行的最前面一个字符

复制光标所在的那个字符到该行行首的所有数据

p, P p将复制的数据,粘贴在光标的下一行,P将复制的数据,粘贴到光标的上一行
J 将光标所在行不下一行的数据结合成同一行
c 重复删除多个数据,可以通过上下键来决定删除光标上面的,还是下面的
u 撤销。(常用)
Ctrl + r 撤销的撤销。(常用)

三,区块选择,查找,替换

区块选择,查找,替换
v 字符选择,会将光标经过的地方反白选择!
V 行选择,会将光标经过的行反白选择!
Ctrl + v 区块选择,可以用长方形的方式选择资料
y 将反白的地方复制起来
d 将反白的地方删除掉

v或者V

ctrl+v

从上面可以看出,v和V主要的是进行,行选择,而Ctrl+v是进行的列选择,从灵活性上来说,ctrl+v更加的灵活一点。
/string

?string

向光标之下寻找一个名称为string字符串

向光标之上寻找一个名称为string字符串

n

N

正向查找,搜索出的string,可以理解成next

反向查找,搜索出的string,可以理解成Not next

find

为了说明,n和N的区别,作了个例子,看左图,左图是搜索ddd所产生的结果,黄底黑字就是搜索的结果,这个时候,我们可以按n或者N,在这4个搜索区块内,进行切换.

n的顺序是12341234

N的顺序是43214321

总之一句话,n是从上到下,N是从下到上

:n1,n2s/string1/string2/g 这里的n1是查找的开始行数,n2是查找结束的行数。【:2,7s/ddd/fff/g】在第2行,第7行之间,将ddd替换成fff
:1,$s/string1/string2/g 从第一行到最后一行寻找 string1 字符串,并将该字符串替换为 string2 !(常用)
:1,$s/string1/string2/gc 从第一行到最后一行寻找 string1 字符串,并将该字符串替换为 string2 !且在替换前显示提示字符给用户确认 (confirm) 是否需要替换!(常用)

四,保存,退出,环境变量

保存,退出,环境变量
:w

:w!

将编辑的数据写入硬盘档案中(常用)

若文件属性为『只读』时,强制写入该档案。不过,到底能不能写入, 还是跟你对该档案的档案权限有关啊!

:q

:q!

离开 vi (常用)

若曾修改过档案,又不想储存,使用 ! 为强制离开不储存档案。

:wq

:wq!

储存后离开

强制储存后离开

ZZ 这是大写的 Z 喔!若档案没有更动,则不储存离开,若档案已经被更动过,则储存后离开!
:w [filename] 另存为
:r [filename] 在编辑的数据中,读入另一个档案的数据。亦即将 『filename』 这个档案内容加到光标所在行后面
:! command 暂时离开 vi 到指令列模式下执行 command 的显示结果!例如 『:! cat ./test』即可在 vi 当中察看当前文件夹中的test文件中的内容
i,I,a,A,o,O,r,R 进入插入模式,虽然有不同之处,感觉差别不大,就放在一起了
Esc 退出插入模式,进入命令模式
:set nu 显示行号,设定之后,会在每一行的前缀显示该行的行号,这一点,非常有用,当我们修改配置文件的时候,能知道多少行,就方便多了。
:set nonu 与 set nu 相反,取消行号

五,小结

个人觉得,上面的操作能满足,80%--90%的人的需要,如果对多文件进行操作,我想各种开发工具,要比vim更加的方便.

转载于:https://www.cnblogs.com/zhaoyang-1989/p/3222642.html

vim复制,粘贴,删除,撤销,替换,光标移动等用法相关推荐

  1. linux vim复制粘贴删除,Linux vim删除、复制、粘贴快捷键

    删除 x    小写的x表示向后删除一个字符,也就是删除光标所在字符 nx  n表示数字,表示向后删除每个字符,例如:10x表示删除包括光标在内的后面10个字符 x    大写的x表示删除光标前的一个 ...

  2. vim复制粘贴删除多行

    shift+v 松开 按方向键选中多行 之后 删除:shift+c 复制:yy 复制完后按p粘贴 撤回:u 重做:Ctrl+r

  3. linux vim 复制一个单词,Vim复制粘贴与寄存器

    Vim复制粘贴与寄存器 在Vim中的复制,删除,替换等操作的临时内容,都会存储在寄存器中 1.无名寄存器("") 两个双引号,Vim中叫做无名寄存器.x,s,d,c,y等操作,如果 ...

  4. vim复制粘贴的命令

    from : http://home.lupaworld.com/home-space-uid-24161-do-blog-id-235666.html vim中无法使用ctrl+c ctrl+v进行 ...

  5. vim复制粘贴不错乱格式方法

    vim复制粘贴不错乱格式 运行如下命令,进入 paste 模式: set paste 进入 paste 模式后,按 i 键进入插入模式,然后再粘帖 粘帖完成后按 进入普通模式结束 paste 模式

  6. Vim 复制粘贴探秘 ----vim 粘贴 取消缩进zz

    Vim 复制粘贴探秘 Vim 作为最好用的文本编辑器之一,使用vim来编文档,写代码实在是很惬意的事情.每当学会了vim的一个新功能,就会很大地提高工作效率.有人使用vim几 十年,还没有完全掌握vi ...

  7. vim 复制粘贴 详解

    vim 复制粘贴 详解 vim 复制粘贴 详解_pope_百度空间 vim 复制粘贴 详解 正在学习使用vim,前一阵想学linux,然后突然发现vim是个好东西,学习使用,今天发现,无法使用ctrl ...

  8. VIM快捷键操作(复制/粘贴/删除/查找/跳转/撤销)

    1.复制 1)单行复制 在命令模式下,将光标移动到将要复制的行处,按"yy"进行复制: 2)多行复制 在命令模式下,将光标移动到将要复制的首行处,按"nyy"复 ...

  9. vim复制粘贴_打造一款高逼格的Vim神器

    Vim 是一个上古神器,本篇文章主要持续总结使用 Vim 的过程中不得不了解的一些指令和注意事项,以及持续分享一个开发者不得不安装的一些插件,而关于 Vim 的简介,主题的选择,以及为何使用 vim- ...

  10. vim复制粘贴常用命令

    在Windows下我们习惯的操作,复制单个字符,复制单行多行,删除单行多行,在linux的vim中操作如下: G(shift+g+g):跳到文档尾 g+g:跳转到文档首 home键:光标移动到行首 e ...

最新文章

  1. 【机器学习】多项式回归原理介绍
  2. python-字符串常用方法、文件简单读写
  3. Java中有哪些无锁技术来解决并发问题?如何使用?
  4. python 3.7.5下载_you-get简介:功能强大的命令行工具,随心所欲下载视频
  5. ServletContextListener 解析用法
  6. Fotolog对memcached的应用
  7. [Python]网络爬虫(七):Python中的正则表达式教程
  8. mysql中的基本数据类型_mysql基本数据类型
  9. 视觉SLAM笔记(61) 单目稠密建图
  10. 因系统因配置问题报错,如何调整(两类 【与外界其他环境相关联】 【★自身配置★】(★关注web.xml★))
  11. paip.网站提示SESSION过期 登录过期 以及二次登录的问题
  12. 微信跳一跳小游戏使用charles抓包工具改分攻略
  13. linux运维(九)
  14. 歌手大奖赛(C语言)
  15. anaconda python降级有影响吗,更新conda会导致降级和被取代的包
  16. 视频会议系统/远程会议解决方案分为几种?企业如何选择?MCU与SFU方案的区别是什么?
  17. 让智能成为本能,华为云引领智能计算新时代
  18. 计算机与交换机基本网络设置方法,交换机配置方法 网络交换机的详细配置方法(图文教程)...
  19. 用 kubeadm 部署生产级 k8s 集群
  20. java如何让程序暂停一会_Java如何暂停线程一段时间?

热门文章

  1. 小白的web优化之路 一、使用redis来缓存信息
  2. 子窗体(初学者进来学习吧)
  3. 【笔记】ubuntu 16.04 centos 7如何配置sudo权限
  4. Android-VR 支持流媒体
  5. element ui输入地内容明明符合规则还是校验报错
  6. Linux下安装grafana
  7. 深圳php程序培训班,深圳php编程培训班哪几个好
  8. rust狗阳的师傅是谁_杨幂迪丽热巴新剧同天官宣,你更期待谁呢?
  9. python滤波器信号处理_详解利用Python scipy.signal.filtfilt() 实现信号滤波
  10. linux c socket 完全端口,浅谈 Linux C语言 socket 网络编程