`
guimingyue
  • 浏览: 75745 次
  • 性别: Icon_minigender_1
  • 来自: 湖北
社区版块
存档分类
最新评论

vim

    博客分类:
  • vim
 
阅读更多

参考:http://blog.51yip.com/linux/1140.html
         http://dpinglee.blog.163.com/blog/static/1440977532010579355724/
关于VIM的复制粘贴, http://blog.51yip.com/linux/1140.html这里有很详细的解释:

我接触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

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 将反白的地方删除掉
vim

v或者V

ctrl+v

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

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

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

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

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

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更加的方便.


注:
在Ubuntu下面默认没有+寄存器,所以不能使用系统剪切板,需要手动安装:sudo ape-get install vim-gui-common来安装

安装完成之后就可以使用系统剪切板了,比如要复制整个文件中的代码,则可以使用“+yG复制到系统剪切板中。

 

分享到:
评论

相关推荐

    vim-configure.tar.gz_vim_vim_configure

    "vim-configure.tar.gz_vim_vim_configure" 是一个包含了 Vim 配置文件的压缩包,旨在帮助用户优化 Vim 的使用体验,提供自动提示、补全功能以及代码高亮等特性。 在 Vim 中配置这些功能,可以使编辑效率大幅提升。...

    ubuntu-ubuntu升级vim-安装指定版本vim.pdf

    ### Ubuntu下升级与安装指定版本Vim的方法 #### 背景介绍 Vim是一款功能强大的文本编辑器,因其高效性和可定制性受到广大开发者的喜爱。在Ubuntu系统中,默认安装的Vim版本可能无法满足某些用户的特定需求,比如...

    vim plugin vim changes to ide update

    【vim plugin vim changes to ide update】这一主题表明我们将探讨如何使用Vim插件来提升其作为集成开发环境(IDE)的功能。在这个过程中,我们将重点分析新增的三个插件:wintagexplorer.vim、echofunc.vim以及vimrc...

    Linux中vim安装包

    **Linux中的Vim编辑器** Vim(Vi Improved)是一款强大的文本编辑器,在Linux系统中广泛使用。它基于早期的Vi编辑器,并进行了大量的增强和改进,提供了丰富的特性集,适用于程序员、系统管理员以及普通用户。Vim在...

    Vim的.vim文件夹和.vimrc配置文件

    Vim是一款强大的文本编辑器,深受程序员和系统管理员的喜爱,其可高度自定义的特性使得用户可以根据个人喜好和工作需求定制自己的编辑环境。在Vim中,`.vim`文件夹和`.vimrc`配置文件是两个至关重要的元素,它们帮助...

    vim离线安装rpm包

    针对“vim离线安装rpm包”这个主题,我们将详细讲解如何在Linux系统中通过rpm命令来实现vim的离线安装,以及相关的重要知识点。 首先,RPM(Red Hat Package Manager)是Linux下广泛使用的软件包管理器,它负责软件...

    Vim用户手册中文版7.3.pdf.zip_vim 7

    使用 Vim 更多的是一种技能而 不是一种知识,Vim 的学习更需要的不是头脑而是双手,经常按书中的指示 进行示例性的操作,在学习 Vim 众多精致的技巧时,不要贪图一下子全都 掌握,最好是看一条技巧后,马上在编辑器...

    centos7离线安装vim

    在Linux系统中,Vim(Vi Improved)是一款强大的文本编辑器,被广泛用于代码编辑、配置文件修改等任务。在没有网络连接的情况下,为CentOS 7安装Vim需要通过手动下载所需软件包并使用本地安装方法。以下是离线安装...

    ubuntu离线安装vim

    在Ubuntu系统中,Vim(Vi IMproved)是一款强大的文本编辑器,被广泛用于编程和其他文本操作。离线安装Vim对于没有网络连接或者网络不稳定的情况尤为重要。以下是如何在Ubuntu上离线安装Vim的详细步骤,以及相关知识...

    vim go 语法高亮

    Vim是一款非常强大的文本编辑器,它以其高度可配置性和高效编辑能力深受程序员喜爱。在Go语言的开发环境中,Vim可以通过安装特定的插件来增强对Go语言的支持,其中包括语法高亮功能。"vim go 语法高亮"这个主题正是...

    Vim 8.2 PDF 中文用户手册(最新)

    由于提供的文件信息中包含了Vim 8.2的PDF用户手册的结构和内容概览,我们可以从提供的内容中提炼出关于Vim编辑器的知识点,这些知识点覆盖了Vim的基本使用、编辑技巧、高级功能以及如何在不同情况下高效使用Vim。...

    Vim特别好看的主题全部

    Vim是一款极其强大的文本编辑器,尤其在程序员和系统管理员中广受欢迎。它以其高度可配置性和丰富的功能而闻名,其中“主题”是提升Vim使用体验的重要元素之一。标题"Vim特别好看的主题全部"暗示了这个压缩包可能...

    VIM FOR PHP配置

    VIM(Vi IMproved)是一款强大的文本编辑器,尤其在编程领域中被广泛使用,因为它提供了丰富的自定义功能和高效的操作方式。对于PHP开发者来说,配置一个适合自己的VIM环境可以显著提高编码效率。以下是对"VIM FOR ...

    离线安装vim,vim安装及说明.zip

    离线安装Vim是Linux系统用户在没有网络连接时安装软件的一种常见方法,尤其是在服务器环境或者网络条件有限的场合。本教程将详细介绍如何通过提供的离线资源安装Vim编辑器。 Vim(Vi Improved)是一款强大的文本...

    vim jeffy插件和配置

    linux下用vim编辑器配合jeffy插件实现比较顺手的编程环境。Jeffy插件和配置文件(.vim):代码高亮 自动提示等。 vim版本必须大于7.1。 1,备份下vim配置文件(可选) 2,解压jeffy-vim.zip 和里面的jeffy-vim-read.tar...

    vim离线rpm适用centos操作系统

    Vim(Vi Improved)是一款强大的文本编辑器,广泛应用于Linux系统中,包括CentOS操作系统。它以其高效、可配置和可扩展性而受到系统管理员和开发者的青睐。本压缩包包含的是Vim的离线安装包,适用于那些无法或者不便...

    vim插件-配合数字电路systemverilog编程时使用

    Vim是一款强大的文本编辑器,深受程序员喜爱,尤其在系统级Verilog编程中,通过搭配合适的插件,可以显著提高代码编写效率。SystemVerilog是一种广泛应用于数字电路设计的硬件描述语言,它允许设计师在高层次上描述...

    vim_rpm.zip

    【标题】"vim_rpm.zip" 提供的是一个包含了 Vim 编辑器的 RPM 包,主要用于在 CentOS 7 的环境中进行离线安装。RPM(Red Hat Package Manager)是基于Linux系统的软件包管理器,它能够方便地安装、升级、查询和删除...

    Vim QT版本源代码

    本资源提供的"Vim QT版本源代码"是Vim的一个特殊构建,它集成了QT库,为Vim提供了一个图形用户界面(GUI),使得在桌面环境中使用Vim变得更加方便,尤其对于那些习惯于图形化操作的用户。 首先,我们需要理解Vim的...

    vim-plugin插件

    Vim 是一款强大的文本编辑器,它以其高度可配置性和高效的工作流而闻名。Vim 插件系统是其灵活性的核心,允许用户通过安装各种插件来扩展编辑器的功能,以适应不同工作场景的需求。"vim-plugin插件" 涵盖了多种提升 ...

Global site tag (gtag.js) - Google Analytics