一、vim介绍
vim是vi的升级版本:可带颜色显示
1.安装vim
yum install -y vim-enhancedvim /etc/passwd
2.三种模式:
一般模式:dd p yy 编辑模式:编辑文件内容 命令模式::/ ?
二、vim颜色显示和联通光标1.vim可以依照文件的路径和名子显示颜色
cp /etc/passwd /tmp vim /tmp/passwd 查看就无颜色 /etc 下会显示颜色,是他的特性。cp /etc/fstab /tmpvim /tmp/fstab 查看就有颜色显示.vim /tmp/passwd 加入“#/test” 就有颜色, 给/tmp/passwd 改名为passwd.sh 就显示颜色了。
2.配置文件:/etc/vimrc
vim /root/.vimrc 配置自动缩进,语法高亮等功能。 cp /etc/dnsmasq.conf /tmp/1.conf在第一行加入:#!/bin/bash
3.通常模式下联通光标:
h或向左箭头:向左移动。 j或向下箭头:5j 向下移动5行 k或向上箭头:向上移动 l或向右箭头:向右移动空格:向右移动 5+空格:向右移动5个字符
三、vim通常模式下联通光标
ctrl + -> :向右移动一个单词 ctrl + b或PageUP: 向前翻页 ctrl + f或PageDown: 向后翻页0或^: 移动到行首$: 移动到行尾gg: 定位到首行G: 定位到尾行 50G : 定位到50行
四、vim通常模式下复制、剪切和粘贴
x: 小写的向后删除一个字符 X:大写:向前删除一个字符dd :删除光标所在行10dd: 删除(包含光标所在行)10行p:(小写)在光标所在行下粘贴P:(大写)在光标所在行上粘贴 y:复制nyy:复制光标下n行 u :撤销,最多50次 ctrl + r :反撤销v: 可视化操作,选中(按自己意愿)进行操作
五、进入编辑模式
i:在光标前插入I:定位到行首插入o:在光标所在行下插入O:在光标所在行上插入a:在光标后插入A:在行尾插入
六、vim命令模式
/word 从光标处向后查询wordn:向下查N:向上查 ?word 从光标处向前查询wordn:向上查N:向下查 :1,100s/word1/word2/g 替换1到100行内word1 为word2 :1,$s/dnsmasq/fxq/g 没有g时候只替换行中第一个 :1,$s@dnsmasq@fxq@g:w:w! :q:wq 保存:x 保存 如果文件只打开了。wq 只改变了atime.x使用起来不加atmie :q! :wq! :set nu 显示行号 :set nonu 不显示行号 :nohl 不显示搜索高亮
七、vim实践
八、vim扩充:
vim编辑器上面一些不为人知的操作
1.vim编辑器的替换模式与可视模式在通常模式下按按键上的r和R步入替换模式。若果按小r这么这时侯就步入了替换模式,你下一个输入的字符会把你当前光标所在处的字符替换,之后手动退出替换模式。假如你按的是大R这么你下边输入的所有字符会把前面的字符依次替换,直至按退出替换模式。
在通常模式下按按键上的v和V步入可视模式。若果是按小v这么这时侯就时入了视图模式,这时侯你联通光标会把你光标所在处到光标结尾处的所有字符选中linux的vim命令,这时侯可以进行复制,删掉等操作。若果是按大V同样也是步入了视图模式,这时侯联通光标会把光标所在行到光标结尾的行的所有内容选中,也可以进行复制,删掉等操作。
注意:使用在通常模式使用“ctrl+v”组合键可以步入块操作模式在这个模式下和可视模式差不多linux学习,而且选择的内容不同,你们可实际操作瞧瞧2.删掉从光标所在处到行尾字符
在通常模式下输入小写“D”或者输入“d$”
3.删掉从光标所在处到行首字符
在通常模式下输入小写“d^”
4.删掉从光标所在行到文件末尾行
在通常模式下输入小写“dG”
5.删掉指定范围内所有行
例:删掉10到15行的所有内容在通常模式下输入“:10,15d”回车
6.把正在编辑的文件另存为新文件
例:把正在编辑的文件另存为到“/root/”下面并保存为1.txt在通常模式下输入“:w/root/1.txt”例:把正在编辑的文件的第10行到第15行另存为1.txt并保存到root目录下在通常模式下输入“:10,15w/root/1.txt”
7.把其它文件的内容导出到正在编辑的文件的光标所在处
例:把“/root/1.txt”文件的内容linux的vim命令,导出到下在编辑的文件的第10行下边首先在通常模式下按“10G”把光标定位到第10行之后按“o”小写,当前行的下边另起一行,并步入插入模式最后按按键上的返回到通常模式,再输入“:r/root/1.txt”回车
8.正在编辑文件时,不退出文件仍可以运行linux命令
列:我下在编辑一个文件,但这时侯我想查看“/root/1.txt”文件的内容,并且我不想退出我正在编辑的文件,这么我们可以这样在编辑模式下输入“:!cat/root/1.txt”
9.把命令的执行结果导出到正在编辑的文件的光标所在处
这题我们可以结合前面两题,在通常模式下输入“:r!cat/root/1.txt”
10.查找替换的功能使用
例:在10到15行的行首降低“#”在通常模式下输入“:10,15s/^/#/”例:在10到15行的行首除去“#”在通常模式下输入“:10,15s/^#//”例:在10到15行的行首降低“//”在通常模式下输入“:10,15s/”或者“:10,15s@@//@”或者“:10,15s#^#//#”
注意:在里面所有命令的最后面都可以加g或则c一起配合使用,g的意思是行中出现的所有指定字符都替换,而且假如加了g这么上面就不能出现位置定义字符,反之上面出现的位置定义字符,这么旁边就不可以出现g。在前面加c可以跟用户交互,在查找到符合命令的字符提示用户是否替换,须要用户确认,否则不须要确认
11.把输入的指定字符替换为指定的字符
例:在编辑一个文档的时侯,我要频繁的输入“abcdefghijklmnopqrstuvwxyz”这样的连续字符串,这时侯我想只输入一个或则一串指定字符就可以替换为刚刚的字符,例如我指定输入“aming”系统都会手动把“aming”替换成“abcdefghijklmnopqrstuvwxyz”在通常模式下输入“:abamingabcdefghijklmnopqrstuvwxyz”然后回车,再步入编辑模式,当你输入“aming”的时侯才会发觉手动替换成了“abcdefghijklmnopqrstuvwxyz”
12.快捷键的定义
例:我想在通常模式下按按键上的ctrl+b快捷键,会手动在光标所在行的行首插入“#”号,之后手动退出到通常模式在通常模式下输入“:mapctrl+vctrl+bI#”然后回车,这时侯在通常模式按按键上的ctrl+b的时侯才会在光标所在的行首插入“#”号了
注意:命令中ctrl+v和ctrl+b是鼠标上的组合键,不是输入进去的字符,是须要按的组合键,其中第一个ctrl+v就照按,第二个ctrl+b是要定义的快捷键,按照自己须要的设置按。之后“I”的意思就是通常模式下的“I”进入插入模式并将光标联通到行首,之后接着输入“#”号,旁边“”的意思是退出编辑模式
13.同进编辑两个文件或则
例:我现正在编辑1.txt文件,之后我想再打开root目录下的2.txt同时编辑,并把窗口上下水平分隔,一起显示在通常模式下输入“:new/root/2.txt”
例:我现正在编辑1.txt文件,之后我想再打开root目录下的2.txt同时编辑,并把窗口左右垂直分隔,一起显示在通常模式下输入“:vsplit/root/2.txt”
注意:在通常模式下按“ctrl+w”组合键,再按左右,或则上下方向键,可以在不同窗口之间切换假如在通常模式下输入“:only”那么只保留当前正在编辑的窗口,其它全关掉
15.在vim查找关键字时不分辨大小写
在通常模式下输入“:setic”如果想取消就输入“:setnoic”
16.怎样把文件设置成只读文件,只有强制保存时才会保存
在通常模式下输入“:setreadonly”
17.把文件恢复到打开时的状态
在通常模式下输入“:e!”
18.配置文件的使用以上这么多操作,像设置忽视大小写,设定快捷键,设定手动替换linux教程,等一些操作,当笔记本重启后就没有了。这时侯我们可以把这种命令写入配置文件,这样笔记本重启后还是可以使用,我们有两种方式第一种:所有用户都统一更改“/etc/vimrc”文件,在末尾加入须要设置的命令,就是我黑色标明的部份第二种:只对当前用户更改用户家目录下的“.vimrc”文件,注意有个点,这是隐藏文件,通常用户家下没有,须要自己手工创建
分享几个vim里常用的快捷键1,注释所有的行:ctrl+v j/k+ shift +i2,查看光标当前的man手册 shift+k3,d+f+字符4,选中面积 v+t+字符5,在vim里面删除光标后的所有字符 shift+d6,删除当前光标上的单词 d+i+w7,选中当前光标上的单词 v+i+w
vim快速删掉指定的一段字符
因为不是一行,所以用dd不行,但用x去删除的话,又太慢。今天从网上发现一种特别快速删除的方法。 那就是使用da,如何使用,请看下面的例子。 比如,我的1.txt内容如下:11111111111111111111111111222222222222222222222222222222B3NzaC1yc2EAAAABIwAAAQEAv5oJvuIdaaVUsDOA2FbfnL0K2GbTc05Yg6TGM+8SNleI6bU5MhAy2uP5J4yCrMu43911hEJ2uh1UPycWX1O4xpEgUm8TGIs1HoQySnukv3g121uOLACRj37qqL9j4RRhrUxhunAW3alLSGIV0mxFD0ApyycFoLA/1I3hU7Yyx7tdripwz0FeHHhT3Qjfe9yC8Z6Ptq7cvBPXBBvc/G8pXVq3bnGMtj9Ifmbh7NnTvfHnEZGacf2MR4FSy0MMuNL0k3X5sBlsyP9/rXY9CPOh73eKUhZQoK3uWjwuDRp/dqrxgWDVeg0NZ+0t130pKu/LSREothWoVBu54rrtUUIdb3Sq0xsW4x9EhKGJJHPvBrbGbiDPTKBUaHdQEfmQQPAWeeX1hMC7lCunnfgTzf39Pv/2VpXz2l8NH2Jem0nrS48A6sf4eFz5VIakoRySMQu/6mY4s9aU3arbX+JvUE9s2/7D+JdqJlINtQqRU4V92LQq3BJaSMmKiwnPSytxDtARI3+8I2XXqFCJ5bBY7e333333333333333333333344444444444444444444444444444我现在想删除22222222222和33333333333333333之间的字符只需要这样做: 1. 把1.txt的内容改成:11111111111111111111111111222222222222222222222222222222{B3NzaC1yc2EAAAABIwAAAQEAv5oJvuIdaaVUsDOA2FbfnL0K2GbTc05Yg6TGM+8SNleI6bU5MhAy2uP5J4yCrMu43911hEJ2uh1UPycWX1O4xpEgUm8TGIs1HoQySnukv3g121uOLACRj37qqL9j4RRhrUxhunAW3alLSGIV0mxFD0ApyycFoLA/1I3hU7Yyx7tdripwz0FeHHhT3Qjfe9yC8Z6Ptq7cvBPXBBvc/G8pXVq3bnGMtj9Ifmbh7NnTvfHnEZGacf2MR4FSy0MMuNL0k3X5sBlsyP9/rXY9CPOh73eKUhZQoK3uWjwuDRp/dqrxgWDVeg0NZ+0t130pKu/LSREothWoVBu54rrtUUIdb3Sq0xsW4x9EhKGJJHPvBrbGbiDPTKBUaHdQEfmQQPAWeeX1hMC7lCunnfgTzf39Pv/2VpXz2l8NH2Jem0nrS48A6sf4eFz5VIakoRySMQu/6mY4s9aU3arbX+JvUE9s2/7D+JdqJlINtQqRU4V92LQq3BJaSMmKiwnPSytxDtARI3+8I2XXqFCJ5bBY7e}333333333333333333333344444444444444444444444444444注意,2222 和{ 之间没有换行。 2. 把光标移动到第一个{,也就是最后一个2后,然后输入da{ 即可把{}内的字符全部删除。 另外,除了可以使用{ 外,还可以使用 ", ', ( 等成对的特殊符号。 其实vim还有一个比较常用的那就是v了,用v和d来删除也挺方便的: 打开一个文本后,直接按v,然后移动光标可以选中文本,当选中完你想要的文本后,直接按d,就删除了。
vim粘贴代码手动缩进造成全乱了
用vim打开一个空白文档,然后把已经复制的代码给粘贴进来,发现它有自动缩进功能,最终导致粘贴的文本一行比一行靠右,看起来乱成一团。比较快的解决办法是,在粘贴文档前,在命令行模式下,输入 :set noai nosi 然后按'i' 进入编辑模式,再粘贴已经复制的代码内容,这样就不会自动缩进了。有时候,这样的方法不好用,可以尝试这种: :set paste
顾客端putty,xshell联接linux中vim的小按键问题
回复收藏 分享 在putty上用vi的时候,开NumLock时按小键盘上的数字键并不能输入数字,而是出现一个字母然后换行(实际上是命令模式上对应上下左右的键)。解决方法 选项Terminal->Features里,找到Disable application keypad mode,选上就可以了 在xmanager 4 中的xshell也有小键盘问题 解决方法为修改session 属性 -> 终端->VT模式->初始数字键盘模式 选择 设置为普通。
Linux用vim/vi给文件加密和揭秘
文件加密 一、利用 vim/vi 加密: 优点:加密后,如果不知道密码,就看不到明文,包括root用户也看不了; 缺点:很明显让别人知道加密了,容易让别人把加密的文件破坏掉,包括内容破坏和删除; vi编辑器相信大家都很熟悉了吧,vi里有一个命令是给文件加密的,举个例子吧: 1)首先在root主目录/root/下建立一个实验文件text.txt: [root@www ~]# vim/vi text.txt2)进到编辑模式,输入完内容后按ESC,然后输入:X(注意是大写的X),回车; 3)这时系统提示让你输入密码,2次,如下所示: 输入密码: *******请再输入一次: *******4) 保存后退出,现在这个文件已经加密了; 5) 用cat或more查看文件内容,显示为乱码;用 vim/vi 重新编辑这个文件,会提示输入密码,如果输入的密码不正确,同样会显示为乱码! 注意:文件加密后,千万别忘了密码! 二、解密用vi加密的文件(前提是你知道加密的密码): 1)用 vim/vi 打开文件如text.txt,要输入正确的密码,然后在编辑时,将密码设置为空,方法是输入下面的命令: :set key= 然后直接回车,保存文件后,文件已经解密了。 2) 或者这样也行: 在正确打开文件后用 “:X” 指令,然后给一个空密码也可以。保存用“wq!”保存。 两种方法实际上效果是一样的