linux下有各种各样的文本编辑软件,比如nano,gedit,vim等等,GUI模式下用gedit是不错的选择,但是涉及到代码,程序以及文字接口方面,vim这个老牌且强大的工具就很需要了。

学习中参考了鸟哥的教程,收集一些重点加上自己的体会,写这样一个体会。

申明:1.文中一些符号是为便于理解,存在“+”的命令实际中并不要输入“+”,有空格的地方,实际中也不需要输入。

2.不足之处,还望指出。

3.红色部分一般就是操作命令,非词汇简写。

一、vim菜鸟阶段

首先,需要知道,vim是vi的升级版,现在都是使用vim的。

1、vim的启动,命令:#vim 文件名。

2、vim的三种模式,如下图

3、离开vim,有几种方式:

一般模式下输入 :wq

保存文件并退出;

一般模式下输入 :q! 不保存文件强制退出;

一般模式下输入 ZZ

如果有改动,则保存退出,没改动,直接退出。

PS:注意上面的输入有一个:号,即是指明从一般模式进入了指令模式,wq其实就是指令,!一般就是强制的意思,用于有些时候因为权限问题造成的不能写入等。

4、下面说说一般模式下操作有关的一些操作。

~1、光标的移动上下左右方向键就好,一次一个字符 -----》如果一次移动多个字符,输入 数字+方向 就OK例如20+右方向键。

~2、翻页,使用page

up/down键就可以了。

~3、行的移动,G

移动到档案最后一行,数字+GG 移动到相应数字那行,gg 移动到第一行。

先练习一下,差不多能比较熟练的查看文本了吧~~~

5、再来就是一般模式下进阶的操作。

~1.搜索 /字符

表示从光标往下开始搜索字符; ?字符

表示从光标往上开始搜索字符-----》如果要重复执行命令,即是多次搜索,按字母n继续命令,n表示重复执行。

~2、替换 :x1,x2s/字符1/字符2/g 在x1 x2行间把字符1替换为字符2 -----》

:1,$s/字符1/字符2/gc表示从第一行到末尾把字符1替换为字符2,并且带有确认提示。

~3、删除 dd

删除游标所在的一行 数字+x

删除游标所在行后数字个字符-----》数字+dd删除光标下面数字行的内容。

~4、复制黏贴 yy

复制光标所在的行-----》数字+yy

复制光标及以下多少行; p

从光标下一行开始黏贴复制的内容。

~5、还原操作 u ;重做 ctrl+r 都可以重复操作,就相当于不停的上一步,上一步。

6、vim的操作指令比较多,推荐知道上面的常用指令,配合插入模式,即可完成常规的操作。

上面说到了一些操作,这里补充一下:指令模式的几个常用操作

:set nu

在文本中显示行号

:! command

暂时退出vim,相当于win下面的“最小化”咯

:w name

另存为name

:na,nb w name

把na nb的内容合并起来,再另存为name

二、vim中级阶段

好了,第一个阶段练习一下,应该对一般的操作很熟悉了,不熟悉的话适当回顾就好。当然也会发现一些操作不方便,可能达不到你自己的目的,下面再说几个中级点的操作。

1、区块复制操作

前一部分大多是针对一行一行来操作的,区块操作更加方便,一般模式下,按下ctr+v,你会看到光标划过的地方会反白,表明你已经勾选的相应内容,试试多用方向键,你会发现这个东西非常有用,按下y复制,p黏贴。

vim没有word那么智能,可以自动排版,所以说在区块选择中你选中的是什么样子,黏贴以后也会是什么样子,这个虽然简单,但是对版面整洁来说非常有用。

2、多文件操作

这个的主要作用是把A文件的内容复制到B文件里面去,当然,你可以开2个vim,通过鼠标选取复制,不过那样太吧不犀利了........

首先vim file1

file2打开两个文件(记得目录),然后:files查看自己的编译的文件。然后 :N 编译上一个文件, :n

编辑下一个文件,然后你只需要按照前面的操作方式复制file1的东西,再切换到file2,最后p就OK啦!

3、多窗口操作

这个主要是用来进行数据的对照,在一个vim下,输入:sp

file2,会有多窗口显示,相当于并行的vim了。你可以在一个窗口同时编辑两个文件,文件间的切换使用ctrl+w+↑或者ctrl+w+↓就OK了~到这里,你会发现vim太强大了,鄙视word了........

4.vim的保护功能

在你编辑一个文件的时候,当前目录下会产生一个name.swp的临时文件,出现异常情况以后,下次vim该文件时候,会出现提示,按照提示进行恢复,重编辑即可。

5.vim的配置文件

vim的配置文件有两个:/etc/.vimrc(全局设置)和~/.vimrc(用户设置),前一个文件建议不修改,后一个文件默认不存在,新建一个(vim

~/.vimrc)就OK。

:set

all可以查看当前的环境配置,设定太多,举例几个,参考鸟哥的教程。

vim环境设置参数:(在上面的~/.vimrc里按需添加以下设定信息,前面的冒号可以不要)

:set nu :set nonu #设定显示行号 :set hlsearch :set nohlsearch hlsearch #就是

high light search(高亮度搜寻)。 这个就是设定是否将搜寻的字符串反白癿设定值。默讣值是

hlsearch :set autoindent :set

noautoindent #是否自动缩排

:set backup #是否自动储存备份档。一般是 nobackup 的, 如果设定 backup

的话,编辑一个文件的话,原文件会在当前目录下被另存为。 :set

ruler #显示状态说明信息

:set showmode# 显示状态信息(如显示insert等等)

:syntax on :syntax off

#程序语法颜色标识

:set bg=dark :set bg=light

#设定注释颜色,觉得蓝色不容易看换成dark就好了

最后,这个阶段的学习用下面的图总结一下~

三、vim高级阶段

1、程序的折叠

程序折叠,如下面的图示,

+-----------------------------------+

| 行

1 |

| 行

2 |

| 行

3 |

|_______________________ |

\ \

\________________________\

/

被折叠的行 /

/________________________/

| 行

12 |

| 行

13 |

| 行

14 |

+-----------------------------------+

设置~/.vimrc,添加set fdm=....

manual 手动建立折叠。

indent 相同缩进距离的行构成折叠。

expr 'foldexpr' 给出每行的折叠级别。

marker 标志用于指定折叠。

syntax 语法高亮项目指定折叠。

diff 没有改变的文本构成折叠。

保存退出,使用了indent方式,vim会自动的对大括号的中间部分进行折叠,我们可以直接使用这些现成的折叠成果。非常便于读代码呀。如下:

光标移动到白色的地方,zo打开折叠,zc收起折叠。zj移动到下一个折叠处,zk移动到上一个折叠处。

使用marker方式时,需要用标计来标识代码的折叠,系统默认是{{{和}}},最好不要改动。我们可以使用下面的命令来创建和删除折叠:

zf 创建折叠,比如在marker方式下: zf56G,创建从当前行起到56行的代码折叠;10zf或10zf+或zf10↓,创建从当前行起到后10行的代码折叠。10zf-或zf10↑,创建从当前行起到之前10行的代码折叠。在括号处zf%,创建从当前行起到对应的匹配的括号上去((),{},[],<>等)。

zd 删除 (delete)

在光标下的折叠。仅当 ‘foldmethod’ 设为 “manual” 或 “marker” 时有效。

zD 循环删除

(Delete) 光标下的折叠,即嵌套删除折叠。

仅当

‘foldmethod’ 设为 “manual” 或 “marker” 时有效。

zE 除去

(Eliminate) 窗口里“所有”的折叠。

仅当

‘foldmethod’ 设为 “manual” 或 “marker”

时有效。

2、程序的跳转

跳转主要是用于看很长代码时候的一个书签功能,操作方法是,在你需要的地方按下ma做上一个名字为a的标签,之后,在任何时候,你想要跳回这个a标签处,直接按`a就可以了(注意`a是键盘数字1左边那个键+标签名)。当然,标签名可以是ma,mb,mc等等。实际操作一下吧。

基本操作就介绍到这哈~~~以后有时间了再补充吧,上面的操作足够熟练用了哈~

linux实验vim心得,Linux-vim教程(学习心得体会)相关推荐

  1. linux实验报告一,Linux实验报告6参考答案.doc

    Linux实验报告6参考答案.doc 下载提示(请认真阅读)1.请仔细阅读文档,确保文档完整性,对于不预览.不比对内容而直接下载带来的问题本站不予受理. 2.下载的文档,不会出现我们的网址水印. 3. ...

  2. 计算机硬件技术心得,计算机硬件技术基础学习心得.doc

    计算机硬件技术基础学习心得 计算机硬件技术基础学习心得 大学计算机基础学习心得 大学计算机基础学习心得 计算机,即电脑,随着科学技术的发展,不断进行着更新发展.伴随着计算机走入人类生活,它已成为人们日 ...

  3. 《Linux内核分析》期末总结及学习心得

    [洪韶武 原创作品转载请注明出处 <Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000 ] 一.学习心得 本学 ...

  4. linux实验报告makefile,linux实验二交叉编译和Makefile实验报告.doc

    linux实验二交叉编译和Makefile实验报告 实验二 交叉编译和Makefile 实验目的 了解和掌握交叉编译模式和方法: 了解和掌握makefile文件的编写 学会使用交叉编译工具和make工 ...

  5. 嵌入式linux实验截图,嵌入式linux实验二.pdf

    嵌入式原理与应用实验 实验二 Linux 系统的常用命令 学号 1215108019 姓名 李克帆 班级 电子 2 华侨大学电子工程系 实验二 Linux 系统的常用命令 一.实验目的 掌握 Linu ...

  6. linux实验手册汇总,Linux实验手册汇总(226页)-原创力文档

    精品文档 Linux 实验手册 补充实验步骤很详细 Linux 重于练习和动手 一 Linux 安装 注意磁盘分区 二: 用户简单操作: 1. 添加用户 u1 和 u2,并分别设置口令 #userad ...

  7. 山东信息Linux实验报告,山东大学linux实验4.doc

    山东大学linux实验4 a dash date 2 m Display all 130 possibilities? (y or n) 输入n 又显示m 3 administrator@ubuntu ...

  8. oracle财务软件心得,Oracle密码文件学习心得

    下面总结了一些Oracle密码文件的学习心得,希望对大家有所帮助. (一)创建Oracle密码文件的命令 orapwd file= password= entries=最大数目 这里的file命名规则 ...

  9. c语言编程基础心得,C语言编程学习心得体会

    C语言是在国内外广泛使用的一种计算机语言.其语言功能丰富.表达能力强.使用灵活方便.既具有高级语言的优点,又具有低级语言的许多特点,适合编写系统软件.本文是C语言编程学习心得,希望对大家有帮助. C语 ...

  10. 计算机校本培训心得,校本研修学习心得体会范文3篇

    随着新课改的推进,校本研修应运而生,并且蓬勃发展!下面是学习啦带来的校本研修学习心得体会范文,希望大家喜欢. 篇一:校本研修学习心得体会范文 "有理想在的地方,地狱就是天堂; 有希望在的地方 ...

最新文章

  1. 在CentOS 6.9 x86_64的nginx 1.12.2上开启标准模块ngx_http_auth_request_module实录
  2. 保障数据安全,强调科技向善,旷视发布《人工智能应用准则》
  3. .net面试问题汇总(转)
  4. PHP 数据库连接池实现
  5. Java基础学习总结(186)—— GraalVM 是 Java 在云原生时代保持强大竞争力的大杀器吗
  6. Halcon 找圆测量工具
  7. Android Audio BSP工程师 需要清楚的基本知识点
  8. 敏捷开发之团队级经验分享
  9. 自动控制原理1---自动控制原理基本概念
  10. pytorch的变量variable
  11. git报错unsafe repository xxx is owned by someone else
  12. 淘宝、拼多多、京东等购物平台的优惠券公众号免费搭建持续更新
  13. android中如何打开指定卡上的数据连接开关,Android 代码控制手机数据网络的开关(5.0以上)...
  14. 如何提高福禄克DTX-1800的测试余量
  15. 西工大机考《 网络安全》大作业网考
  16. 全志h3通用固件_全志h3详细刷机教程
  17. 009--python--计算三角形的周长和面积
  18. whatsapp协议接口 云控成品
  19. QGIS基础:创建矢量数据(栅格矢量化)
  20. 管桩的弹性模量计算公式_管桩结构计算示例.doc

热门文章

  1. c+和python先学哪个,c语言和python先学哪个比较简单
  2. flowlayout java_Java Swing组件布局管理器之FlowLayout(流式布局)入门教程
  3. 华为OD机试 - 内存池(C 语言解题)【独家】
  4. AB Test详细讲解
  5. php homestead,homestead安装php扩展
  6. 边界值法中的上点、内点和离点的定义
  7. python药店销售数据分析_解析医院药店销售数据,看看Python数据分析结果有什么惊人的发现...
  8. 【高质量github项目合辑】视频、文本的特征提取
  9. Aspera的下载与安装使用
  10. trex抓包过程详解