码迷,mamicode.com
首页 > 系统相关 > 详细

学习之vim

时间:2019-12-12 17:55:01      阅读:73      评论:0      收藏:0      [点我收藏+]

标签:表达   这一   文本编辑   之间   pad   箭头   提示   不能   编辑   

 

 

shassis 地盘,底架

 

 

VI(im)

         linux在命令行模式下的文本编辑器有很多(emacs、pico、nano、joe、vim等)

         (优点)vim的过人之处: 1.所有的NUIX-like系统都会内置vi文本编辑器

                                                                 2.很多软件的编程接口都会主动调用vi

                                                                 3.vi具有程序编辑能力,可以主动的以字体颜色辨别语法的正确性,方便程序设计

                                                                 4.编辑程序简单,编辑速度相当快

vim功能强大,是程序开发者的一项很好用的工具,vim官方(https://www.vim.org)也称作vim是

一个程序开发工具而不是文本处理软件,vim支持正则表达式的查找方法、多文件编辑、区块复制等

 

vi共分为三种模式:一般命令模式、编辑模式、命令行模式

         一般命令模式:也就是默认模式;用vi或者vim打开一个文件就直接进入命令模式

         编辑模式:在命令模式中敲击iIoOaArR这几个字母任意一个都可以进入编辑模式,同时下方

                   会出现INSERT或者REPLACE的字样

         命令行模式:在一般命令模式中输入:wq即可。

 

 

 

一般命令模式可用的功能按键说明,光标移动、复制粘贴、查找替换等

h或向左箭头

光标向左移动一个字符

j或向下箭头

光标向下移动一个字符

k或向上箭头

光标向上移动一个字符

l或向右箭头

光标向右移动一个字符

[Ctrl]+[f]/[b]/[d]/[u]

向下/上/半下/半上移动一页

+/-

光标移动到非空格符的下/上一行

n<space>

N表示数字(输入数字点击空格,光标会向右移动这一行的n个字符)

0或者功能键HOME

这是数字0;移动到该行的最前面字符处

$或功能键END

移动到这一行的最后一个字符处

H/M/L/G

光标移动到这个屏幕的最上方/中央/下方一行的第一个字符(LG功能貌似相同)

nG

移动到这个文件的第n行(20G则会移动到文件的第20行)

gg

移动到这个文件的第一行相当于1G

n<Enter>

N为数字,光标向下移动n行

查找与替换

/word

向光标之下寻找名称为word的字符串

?word

向光标之上寻找名称为word的字符串

N/n

在字符串查找的基础上n为查找下一个一样字符串,为查找上一个一样的字符串

:n1,n2s/word1/word2/g

n1,n2为数字,在n1,n2之间寻找word1并将word1替换为word2

:1,$s/word1/word2/g

从第一行到最后一行寻找word1并用word2替换

:1,$s/word1/word2/gc

替换并显示提示符给用户确认是否需要替换(confirm)

删除、复制、粘贴

X与x

删除,小写向后删除,大写向前删除,相当于del

nx

连续向后删除n个字符

dd

删除(剪切)光标所在的一整行

ndd

删除光标所在的下n行(或剪切)

d1G

删除光标所在的第一行数据(或剪切)

dG

删除(或剪切)光标所在到最后一行的数据

d$

删除(剪切)光标所在到该行最后一个字符

d0

数字0,删除(剪切)光标所在到该行最前面

yy

复制光标所在的一行

nyy

n为数字,复制光标所在向下的n行

y1G

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

yG

复制光标所在一行到最后一行

y0

复制光标所在位置到该行行首的所有数据

y$

复制光标所在位置到该行行尾的所有数据

P与p

p为将已复制的数据在光标的下一行粘贴,P为将已复制的数据在光标所在位置的上一行粘贴

J

将光标所在行与下一行数据合并成一行

c

重复删除多个数据,eg:向下删除10行,10cj

u

恢复前一个操作

[Ctrl]+r

重复上一个操作

第二部分:一般命令模式切换到编辑模式可以使用的

进入插入(Insert)

 

 

 

 

第三部分:一般命令模式切换到命令行模式

命令行模式的保存与退出

:w

将编辑的数据写入硬盘文件中

:w!

若文件属性问(只读)时,强制写入该文件,能不能写入跟所拥有的权限有关

:q

退出vi(vim)

:q!

若曾修改过文件,又不想保存,使用!为强制退出不保存

:wq

退出并保存

ZZ

大写Z若文件没修改,则不保存退出,若修改则保存退出

:w(filename)

将编辑文件保存为新文件(另存为)

:r(filename)

在编辑过程中读取另一个文件,即将所读文件的内容加到光标所在位置行后面

:n1,n2 w(filename)

将n1,n2的内容保存到filename中

:!command

暂时退出vi到命令行模式下执行command的显示结果

Vim环境的修改

:set nu

显示行号,设置之后,会在每一行的前缀显示行号

:set nonu

取消行号显示

 

 

 

学习之vim

标签:表达   这一   文本编辑   之间   pad   箭头   提示   不能   编辑   

原文地址:https://www.cnblogs.com/WinkJie/p/12030698.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!