Linux之Vim编辑器使用
vim文本编辑器用于建立 编辑 显示文本文件,vim没有菜单,只有命令
在windows 平台下可使用gvim进行编写
Vim三种工作模式:
常有命令:
1.INSERT插入命令
i 在光标前插入 I 在当前行首插入
a 在光标后插入 A在当前行尾插入
o 在当前行插入一行 O 在当前行上插入一行
2.光标定位命令
h 左移一个字符 (等同于方向键<---) H (head) 移至屏幕上端——第一行开头
j 移到下一行 (等同于上方向键) M (middle) 移至屏幕中间——中间行开头
k 移到上一行 (等同于下方向键) L (line) 移至屏幕下端——最后行开头
l 右移一个字符 (等同于方向键--->)
$ 移至行尾
移至行首(数字零)
gg 光标到第一行 nG 光标到第 n 行 2G 到第二行等于 :2
G 光标到最后一行 :n 光标到第 n 行
3.命令模式进入——编辑模式
: 命令 <Enter>回车
效果:执行后,制动回到命令模式
例如:显示当前文件的行号 :set nu 取消行号 :set nonu
4.删除命令
x 删除光标所在处字符
nx 删除光标所在处后n个字符
dd 删除当前行 ndd 删除n行 10dd 删除当前行到后面10行
dG 删除光标所在行到末尾的内容
D 删除光标所在处到行尾的字符
:n1,n2d 删除 行1 到 行2 范围内的行
5.复制和剪切命令
yy, Y 复制当前行 dd 剪切当前行
nyy,nY 复制当前行以下几行 ndd 剪切当前行以下几行
p 粘贴在当前行下一行
P 粘贴在当前行上一行
6.替换和取消命令
r 取代光标处字符(替换当前光标所在处单个字符)
R 从光标所在处开始替换字符 按ESC键结束
u(小写) 取消上一步操作(在没保存之前生效) undo
7.索索和替换命令
@1 /string 注意Linux中区分大小写,搜索字符串的时候,如果但是小写,大写的字符串不会被搜索出
在搜索前可使用命令忽略大小写
:set ic 忽略大小写
:set noic 关闭大小写
例如:在文件中搜索处含有ftp或FTP的行
:set ic
/ftp
n next 从上向下查找下一个出现的位置
N 从下向上查抄下一个出现的位置
@2 全文替换指定字符串
:%s/old/new/g 替换文本中所有字符串
%s 全部 old 要被替换的字符串 new 被替换后的字符串 g global 不提示直接替换 若为c 会提问是否替换 old字符串
例如: :%s/jack/linux/g 将文件中的jack 替换成linux
:n1,n2s/old/new/g 在指定范围内替换字符串
8.退出命令
:wq 保存并退出 快捷键 ——> ZZ (按两次大写ZZ)
:wq! 强行保存退出(当文件所有者或root没有 w 写入权限时,可以使用强行保存退出)
只有文件所有者可root超级管理员可以使用此命令
:q! 不保存退出
:w 保存一下,不退出 相当于windows的 Ctrl+S
:w /root/test 另存为到另一个位置
应用实例
1.导入文件
:r fliename 把filname文件的内容导入到当前文件中的指定位置
例如:把 /home/test/hello.php 文件导入到当前文件中 :r /home/test/hello.php
2.在vim下执行 命令
:! 命令 例如 : :! ls -al /etc/test/
我们在编辑文件时没必要先保存退出,再执行命令,可以直接在vim中执行
:! 命令 执行后回车继续
小技巧:1和2一起使用
例如 :我们在写脚本的时候需要标注出 注释 版权 负责人 最后修改时间
可使用 :r !date 把当前系统时间导入到文件中指定位置
3.定义快捷键
:map 快捷键 触发命令 回车执行命令
例如 为每一行行首添加注释#
快捷键定义 :map ^P I# I表示进入插入模式,光标定位到行首 #插入#符号
注意:
定义快捷键时 ^P 的输入使用(分别按Ctrl+v和 Ctrl+p或(Ctrl+v+p一起敲))进行输入
x
插入邮箱地址 :map ^E ijack@sina.com
我们可以把日常常用的工作定义为快捷键提高编写的效率
4.连续行注释
@1 :n1,n2s/^/#/g ^ 表示行首
在n1到n2的范围内行首加入#注释符 :4,8s/^/#/g 在第4到8行的行首加上#符
@2 :n1,n2s/#//g 去掉字符 即替换为空
4,8s/#//g 会把范围内的所有#符号给去掉不单指行首
4.8s/^#//g 只把范围内的行首的#符去掉
@3 特殊字符转义处理
如果使用的注释符为 // 则需要进行转义
:1,5s/^\/\//g 在1到5行的行首插入//注释符 对//进行转义
5.替换命令
:ab mail jack@sina.com
可把mail看作 a jack@sina.com 看作b
在vim 中输入 mail 按空格或回车则变为 jack@sina.com
如果在文件中需要不断出入较长的相同文本可使用这一命令
取消 :ab 定义
:unab mail 回车 然后在文件中编辑则不会被替换
也可以取消快捷键的定义 :unmap ^P
注意:
上述我们在vim中的一些设置和快捷键的定义只在当前打开编辑的文件下有效,vim保存退出后都会失效,我们可以通过更改vim配置文件来使得自己的设置对于每次打开的文件都适用
编辑vim配置:
每个用户都有一个宿主目录
root 的宿主目录为 /root
普通用户宿主目录为 /home/uername
在宿主目录下都有一个文件 .vimrc(缺省文件——空文件)
我们可以在这个文件下配置vim的配置
例如我们可以修改root的 .vimrc 文件
vi /root/.vimrc
在里面写入
set nu 打开每个文件都显示行号 可加入:也可不写
map ^P I# 快捷键加注释
ab mail jack@sina.com
Linux之Vim编辑器使用的更多相关文章
- Linux的vim编辑器中的翻页命令
当我们进入Linux的vim编辑器查看脚本时,按上下键查看是不是非常慢?这个时候就要用到我们的翻页快捷键了,快捷键命令如: 整页翻页命令为:Ctrl + f 键 f 的英文全拼为:forward: ...
- 【Linux】Linux中VIM编辑器的使用
vim编辑器是我们在Linux中不可或缺的一部分,我们通常会使用它去自定义编辑文本已达到我们的需求,那么vim文本编辑器具体要怎么使用呢.今天跟大家分享一下vim编辑器的使用: vim编辑器模式介绍 ...
- Linux中vim编辑器常用操作技巧
Normal 0 false false false EN-US ZH-CN X-NONE /* Style Definitions */ table.MsoNormalTable {mso-styl ...
- linux vi/vim 编辑器学习总结
linux vi/vim 编辑器学习总结 很多时候我们开发人员不可避免的会涉及到项目部署,这个时候使用的就不是我们所熟知的 Windows 和 Mac OS 操作系统了,而是类 Unix 系统.项目部 ...
- Linux中vim编辑器 的 快捷键 --- 常用 的 都比较全
Linux中vim编辑器的功能非常强大,许多常用快捷键用起来非常方便,这里将我学vim入门时学的一些常用的快捷键分享给大家一下,希望可以帮助你们. 这个是我将鸟哥书上的进行了一下整理的,希望不要涉及到 ...
- linux下vim编辑器查找 关键字
在 linux vim 编辑器 下查找 关键字 方法[一] 1?short_open_tag : 它的意思是vim 打开文件的第一行 ? : 它的意思是反向查找 short_open_tag ...
- Linux (五) VIM编辑器
个人博客网:https://wushaopei.github.io/ (你想要这里多有) 1.简介 Linux系统环境下的一款非常重要的文本编辑工具,我们在Linux环境下几乎所有的文本文件 ...
- 【Linux】Vim编辑器-批量注释与反注释
[-] vim编辑器---批量注释与反注释 方法一 块选择模式 插入注释 取消注释 方法二 替换命令 批量注释 取消注释 实例演示 vim编辑器---批量注释与反注释 在使用vim编写代码的时候, ...
- Linux的vim编辑器
vim编辑器常用的三种模式 vim /文件路径 进入编辑器,编辑该文件 例:vim /etc/passwd 命令行模式:在编辑器中直接输入命令 dd:删除光标所在的一行 ndd:删除光标所在的向下的n ...
- Linux vi/vim编辑器
所有的 Unix Like 系统都会内建 vi 文书编辑器,其他的文书编辑器则不一定会存在. 但是目前我们使用比较多的是 vim 编辑器. vim 具有程序编辑的能力,可以主动的以字体颜色辨别语法的正 ...
随机推荐
- 《A First Course in Probability》-chaper4-离散型随机变量-随机变量和或积的期望
基于随机变量一系列最基本的概念,我们便会开始探讨一些随机变量函数的期望.多个随机变量和的期望.多个随机变量乘积的期望. 这里我们就简单的讨论后两个期望. 这两个问题可以基于如下的一个现实模型: 同时掷 ...
- 当前jQuery Mobile支持的6种页面切换方式
切换方式 data-transition属性值 横向幻灯方式 slide 自上向下幻灯方式 slideup 自下向上幻灯方式 slidedown 中央弹出 pop 淡入淡出 fade 旋转弹出 fli ...
- JVM内存管理和JVM垃圾回收机制
JVM内存管理和JVM垃圾回收机制(1) 这里向大家描述一下JVM学习笔记之JVM内存管理和JVM垃圾回收的概念,JVM内存结构由堆.栈.本地方法栈.方法区等部分组成,另外JVM分别对新生代和旧生代采 ...
- 用java写随机出题
import java.io.*; //输入函数包 public class hello{ public static void main(String args[]){ String s=" ...
- BufferedInputStream详解
BufferedInputStream是一个带有缓冲区域的InputStream,它的继承体系如下: InputStream |__FilterInputStream |__Bu ...
- Unity3d UnityEditor EditorWindow 自定义窗体控件
功能:是因为公司的模型组需要一个插件,在MAYA中有很多个复制物体,导出的时候只导出一个,其他相同的物体只导出点的位置信息.这样进入Unity里就是一个物体和N个相同物体的位置点,代码简单但是需要用插 ...
- php开发工具zendstudio13破解补丁
io? Intelligent Code Editor Robust Debugging Capabilities Eclipse Ecosystem Mobile: AngularJS, Ioni ...
- 树莓派安装mjpg-streamer视频监控 分类: Raspberry Pi 2015-04-12 23:41 144人阅读 评论(0) 收藏
原来使用Motion在树莓派上跑1280x720分辨率的三颗摄像头.占用内存太严重,关闭诸多功能之后还是不行.故转战mjpg-streamer. 首先安装所需软件 sudo apt-get insta ...
- python 3Des 加密
import hashlib; from Crypto.Cipher import DES3 import base64 def create_key(sk): r=hashlib.md5(sk).d ...
- [AngularJS + Webpack] Requiring Templates
With Angular, most of the time you're specifying a templateUrl for your directives and states/routes ...