Vim 是vi的加强

Gvim图形化的vim

Vim/Vi简介

Vim/Vi是一个功能强大的全屏幕文本编辑器,是Linux/Unix上最常用的文本编辑器,他们 的作用是建立,编辑,显示文本文件

Vim/Vi没有菜单,只有命令

本节介绍的Vim/vi主要作用在查看修改一些配置文件,或编写自己得脚本。

Vim/Vi工作模式

进入时是命令模式,按下的东西都是命令,按i,a,o进入插入模式,按esc回到命令模式

:加上命令就是编辑模式,执行完之后自动回到命令模式。

插入命令

命令       作用

a          在光标后附加文本

A          在本行行末附加文本

i           在光标前插入文本

I           在本行开始出插入文本

o           在光标下插入新行

O          在光标上插入新行

定位命令

命令                    作用

h,方向左键             左移一个字符

j,方向下键              下移一行

k,方向上键             上移一行

l,方向右键              右移一个字符

$                        移至行尾

0                       移至行首

H                       移至屏幕上端

L                        移至屏幕下端

M                      移至屏幕中间

定位命令

命令                作用

:set  nu            设置行号

:set  nonu          取消行号

gg                   到第一行

G                    到最后一行

nG                   到第nhang

:n                  到第n行

删除命令

命令                 作用

x                    删除光标所在处的字符

nx                   删除光标所在处后的n个字符

dd                   删除光标所在的行,ndd删除n行

dG                   删除光标所在行到末尾的内容

D                    删除从光标所在处到行尾

:n1 ,n2 d           删除指定范围的行

复制和剪切命令

命令         作用

yy,Y          复制当前行

nyy,nY        复制当前行以下n行

dd           剪切当前行

ndd          剪切当前行以下n行

p,P          粘贴在当前光标所在行下或行上

替换和取消命令

命令         作用

r             取代光标所在处字符,按r再键入字符便可替换

R             从光标所在处替换字符,按ESC结束

u             取消上一步操作

搜索和替换命令

命令               作用

/string              向前搜索指定字符串,搜索时忽略大小写:set  ic ,不忽略:set noic

n                  搜索指定字符串的下一个出现位置N从后往前找

:%s/old/new/g      全文替换指定字符串

:n1,n2s/old/new/g   在一定范围内替换指定字符串

将g换成c则会询问y(替换光标当前)n(不替换)a(替换所有)q(退出)

:wq  保存退出

ZZ=:wq   都是保存退出

只有文件的所有者和管理员root可以对文件进行强行保存退出:wq!。及时没有写权限。

Linux下要注意特殊的用户root,很多规则限定对管理员root都是无效的。

不保存退出 :q!

:w保存

:w  文件  写入某文件

应用实例

在打开的文件中导入已存在的文件:  :r    文件名

在Vi中执行命令:                    :! 命令

在用Vi编辑文件时通常要留下注释,版权信息等等

:r 和 :! 可以同时使用

:r  !date              将当前系统时间导入文件,就是导入命令的结果

shell脚本,linux配置文件#代表注释

定义快捷键:map  快捷键  触发命令

范例: :map  ^p I#<ESC>       ctrl+p行首加#

:map  ^B 0x

^  ctrl+v ctrl+p   ctrl+v+p  p改变  v不变

:map ^B 0x           ctrl+B 删除本行首字符

:map ^E i1759471147@qq.com  ctrl+E 在光标前插入1759471147@qq.com

连续行注释:  :n1,n2s/^/#/g        ^表示行首,添加的符号为#

:n1,n2s /#//g            将n1-n2的#替换为空

:n1,n2/^#//g   将n1-n2的行首的#替换为空

:n1,n2s/^/\/\//g  有些语言的注释是//,而/是分隔符,此时需使用到转义字符\,意为使用命令或符号的本身含义。

替换命令:

实例:

:ab:  mymail  1759471147@qq.com

输入mymail后按回车或空格会自动替换成1759471147@qq.com

:unab mymail 取消定义

:unmap ^P    取消快捷键定义

若要想使这些配置永久有效,则需要编辑vi的配置文件。

在linux下每一个用户都有一个宿主目录,也称之为家目录.用波浪号代表宿主目录。

~ /home/用户名   ~  /root

如果创建一个新用户,则缺省创建一个宿主目录,默认是在 /home/用户名.

而root 是在/root下。

而vim的配置文件是在用户宿主目录下的.vimrc

vi  /root/.vimrc

vi  ~/.vimrc

可以再里边写入快捷键,一些设置。以后再打开文件是有效的。

:可以不加。

知识点总结:

Vim/Vi工作模式  如何切换,命令属于那种模式

Vim/Vi基本使用

插入,定位,删除,复制,剪切,替换

取消,搜索,保存,退出

Vim/Vi应用技巧

练习:

熟悉Vim/vi工作模式切换

熟悉Vim/Vi常用操作

练习Vim/Vi定义快捷键,连续行操作,导入命令执行结果等技巧

设定Vim/Vi配置文件

最新文章

  1. 【转】nginx中的ngx_cdecl
  2. PostgreSQL9.2安装和配置指南
  3. android: SQLite添加数据
  4. 戴文的Linux内核专题:10配置内核(6)
  5. 使用java理解程序逻辑,变量
  6. pure css做的pc登陆界面
  7. JS之类型转换
  8. poj1274 匈牙利算法 二分图最大匹配
  9. 网页制作之html基础学习2-标签
  10. ListView滑动删除 ,仿腾讯QQ
  11. java中的反编译
  12. iwebshop中的增删改查
  13. 写给Android App开发人员看的Android底层知识(2)
  14. 奇舞js笔记——第0课——如何写好原生js代码
  15. 【转】open参数O_DIRECT的学习
  16. 不怕你配置不对,就怕你看的资料不对!MIM 与 SharePoint 同步完全配置指南。
  17. CentOS Linux上安装Oracle11g笔记
  18. phpstorm本地怎么上传到服务器
  19. LR特征维数特别大实时计算问题
  20. ES7 之 Async/await 的使用

热门文章

  1. sencha touch 在线实战培训 第一期 第四节
  2. 用CornerStone配置SVN,HTTP及svn简单使用说明
  3. CSS属性绘制图形(一)
  4. 在linux上执行.net Console apps
  5. [NHibernate] Guid 作主键速度超慢的背后
  6. jsp页面中引入文件路径问题的解决方案(使用request获取项目路径)【原创】
  7. 8.11 数据库ORM(5)
  8. CodeFirst Update-Database 出现对象&#39;DF__**__**__**&#39; 依赖于 列&#39;**&#39;。
  9. hdu2222 Keywords Search【AC自动机】
  10. Solr学习笔记之5、Component(组件)与Handler(处理器)学习