热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

linux编辑文件命令vim,linux中vim是什么意思

vim-vi增强版。文本编辑器格式:vim[options][file..]说明:如果file存在,文件被打开并显示内容,如果文件不存在,当编辑后第一次存盘时创建它[o


vim - vi扩展版。 文本编辑器


格式: vim [options] [file .]


说明:如果文件存在,将打开该文件并显示其内容。 如果文件不存在,将在编辑后第一次保存到磁盘时创建


[选项]一般选项:


vim [num] :直接进入编辑文件的第num行


vim :直接进入最后一行


vim /PATTERN :模式PATTERN直接跳转到第一个匹配的行


vim -m :以只读方式打开文件


vim-d文件1文件2 .打开和编辑多个文件


虚拟机的三种模式:


命令模式:默认模式、光标移动、文本剪切/粘贴等


输入(编辑)模式:修改文本


最后一行(扩展)模式)保存、退出、检索等


模式切换:


1、命令式to输入模式


I :在当前光标所在的位置输入:


I :光标当前所在行的开头


a :在光标所在位置的后面输入


答:在光标当前所在行的行尾输入


o :在光标所在行的下方添加空行的输入


o :在光标所在行的上方添加空行输入


2、输入模式至指令模式:


按ESC键


3、指令模式to末行模式:




4、最后一行模式to命令模式


按ESC键两次


命令模式的常规快捷键


1、光标移动


字符间跳转:


(h )左)右)下) k )上


#[h | l | j | k ] :跳#个字符


单词键跳


w :跳到下一个单词的开头


b :跳到当前或上一个单词的开头


e :当前或下一个单词的词尾


当前页面跳转:


h :当前屏幕的顶部


l :当前屏幕的底部


zt :将光标所在的行移动到屏幕顶部


zz :将光标所在的当前行移动到屏幕中央


zb :将光标所在的行移动到屏幕底部


内联移动:


0 :数字0绝对行头


^ :第一个非空白字符


$ :绝对行尾


行距移动:


#G跳至#行


#gg跳至#行


g :最后一行


1g :第一行


g :第一行


语句之间的移动:


) :




在段落之间移动:


{


}


翻页操作:


Ctrl f :向文件末尾翻页


Ctrl b :向文件的开头翻画面


Ctrl d :向文件末尾半屏


Ctrl u :朝文件开头翻半个画面


2、编辑操作


文字编辑


或DEL键:删除光标所在的字符


#x :删除从光标所在处开始的#个字符


xp:交换光标所在的字符和之后的字符的位置


~ :大小写转换


j :删除当前行末尾的换行符


替换命令:


r )通过替换光标所在的字符,输入一个字符进行替换,可以用于单词拼写错误


切换到替换模式


删除命令


d :删除命令


与各光标跳转指令组合使用


d$ :删除光标所在位置到行尾的所有字符,包括光标所在的字符


d^ :将光标位置删除到行首的所有字符。 不包括光标。


d0 :删除在行首


dw :删除到后面第一个单词的开头


de :删除到后面第一个单词的词尾


数据库:删除到前面第一个单词的开头


DD :删除一行


#dd :删除光标所在位置的下n行


dG :在文档末尾删除


dgg :在文档开头删除


(c )变更、删除后,直接进入插入模式


c$ :删除光标所在位置到行尾的所有字符。 也包括光标所在的字符


c^ :将光标位置删除到行首的所有字符。 不包括光标。


c0 :删除到行首


抄送:删除一行


#cc :删除光标所在位置的下n行


y:yank,复印


YY :复制一行


#YY:# :复制行


p :用p:paste、yy复制的,或者用dd粘贴删除的


复制或删除的是整行


p :粘贴在光标所在行的下方


p :粘贴在光标所在行的上方


复制或删除的是非整数行


p :粘贴在光标所在字符的后面


p :粘贴在光标所在的字符之前


撤消编辑:


u :还原


#u


u :将光标置于此行后,撤消此行的所有更改


撤消:


Ctrl r是与u相反的意思


重复前面的命令:'.'

>重复签一个操作N次:"N."

命令模式特殊用法:

100iwang[ESC]粘贴“wang”100次

Command:

y复制、d删除、gU变大写、gu变小写

例如:0y$命令意味着:

0->先到行头

y->从这里开始拷贝

$->拷贝到本行最后一个字符

ye从当前位置拷贝到本单词的最后一个字符

di  "光标在" "之间,则删除这行中" " 之间的内容,可以是多种符号" ' () [] {} 等等

yi   光标在()之间,则复制()之间的内容

vi[  光标在[]之间,则选中[]之间的内容

dtx    删除字符直到遇见光标之后第一个x字符

ytx      复制字符直到遇见光标之后的第一个x字符

末行模式(扩展模式):

1、范围定界

:start,end

# 具体第#行,例如2表示第二行

1,2          第1到第2行

10,19      10到19行

10,+9   从第10行向后走9行

.             表示当前行

$            最后一行

$-1         倒数第二行

/pat1/,/pat2/  第一次被pat1匹配到的行,到第一次被pat2匹配到的行

#,/pat/                  从#行开始到第一次被pat匹配到的行

%全文

注意:如果不用地址定结符,只检查光标所在行

编辑命令:

d 删除

y 复制

w /path/to/somewhere :将范围内的行另存至指定文件中

r /path/to/somefile:把somefile文件内容插入到地址定界后面

例如 10r xxx  将xxx文件插入到第十行后面

!command     执行命令

r !命令     #将命令执行结果插入,如 r !hostname 将hostname执行结果插入进入文档

2、查找

/PATTERN:从当前光标所在处向文件尾部查找

?PATTERN:从当前光标所在处向文件尾部查找

n:与命令同方向

N:与命令反方向

3、*查找替换:

:地址定界s/查找模式(正则)/替换为内容/gi

要查找的内容:可使用模式

要替换的内容:不能使用模式,但是可以使用\1,\2 等后向引用副号;还可以使用&引用前面查找到的整个内容

修饰符:

g:全局替换,一行中出现多次也替换

gc:全局替换,每次替换前询问

i:不区分大小写

&:用于在替换为的内容部分中引用前面匹配到的所有内容

定制vim工作特性:

配置文件:永久有效

全局:/etc/vimrc

个人:~/.vimrc

扩展模式:当前vim进程有效

(1) 行号

显示:set number, 简写为set nu

取消显示:set nonumber, 简写为set nonu

(2) 忽略字符的大小写

启用:set ic

不忽略:set noic

(3) 自动缩进

启用:set ai

禁用:set noai

(4) 智能缩进

启用:smartindent简写set si

禁用:set nosi

(5) 高亮搜索

启用:set hlsearch

禁用:set nohlsearch

(6) 语法高亮

启用:syntax on

禁用:syntax off

(7) 显示Tab和换行符^I 和$显示

启用:set list

禁用:set nolist

(8) 文件格式

启用windows格式:set fileformat=dos

启用unix格式:set fileformat=unix

简写:set ff=dos|unix

(9) 设置文本宽度

set textwidth=65 (vimonly)

set wrapmargin=15

(10) 设置光标所在行的标识线

启用:set cursorline,简写cul

禁用:set no cursorline

(11) 复制保留格式

启用:set paste

禁用:set nopaste


推荐阅读
  • 本文详细介绍如何使用Python进行配置文件的读写操作,涵盖常见的配置文件格式(如INI、JSON、TOML和YAML),并提供具体的代码示例。 ... [详细]
  • 本文详细分析了JSP(JavaServer Pages)技术的主要优点和缺点,帮助开发者更好地理解其适用场景及潜在挑战。JSP作为一种服务器端技术,广泛应用于Web开发中。 ... [详细]
  • 数据管理权威指南:《DAMA-DMBOK2 数据管理知识体系》
    本书提供了全面的数据管理职能、术语和最佳实践方法的标准行业解释,构建了数据管理的总体框架,为数据管理的发展奠定了坚实的理论基础。适合各类数据管理专业人士和相关领域的从业人员。 ... [详细]
  • 深入理解Shell脚本编程
    本文详细介绍了Shell脚本编程的基础概念、语法结构及其在操作系统中的应用。通过具体的示例代码,帮助读者掌握如何编写和执行Shell脚本。 ... [详细]
  • 通过Web界面管理Linux日志的解决方案
    本指南介绍了一种利用rsyslog、MariaDB和LogAnalyzer搭建集中式日志管理平台的方法,使用户可以通过Web界面查看和分析Linux系统的日志记录。此方案不仅适用于服务器环境,还提供了详细的步骤来确保系统的稳定性和安全性。 ... [详细]
  • 嵌入式开发环境搭建与文件传输指南
    本文详细介绍了如何为嵌入式应用开发搭建必要的软硬件环境,并提供了通过串口和网线两种方式将文件传输到开发板的具体步骤。适合Linux开发初学者参考。 ... [详细]
  • 本文详细介绍了如何在云服务器上配置Nginx、Tomcat、JDK和MySQL。涵盖从下载、安装到配置的完整步骤,帮助读者快速搭建Java Web开发环境。 ... [详细]
  • 俗话说得好,“工欲善其事,必先利其器”。这句话不仅强调了工具的重要性,也提醒我们在任何项目开始前,准备合适的工具至关重要。本文将介绍几款C语言编程中常用的工具,帮助初学者更好地选择适合自己学习和工作的编程环境。 ... [详细]
  • NFS(Network File System)即网络文件系统,是一种分布式文件系统协议,主要用于Unix和类Unix系统之间的文件共享。本文详细介绍NFS的配置文件/etc/exports和相关服务配置,帮助读者理解如何在Linux环境中配置NFS客户端。 ... [详细]
  • Linux 系统启动故障排除指南:MBR 和 GRUB 问题
    本文详细介绍了 Linux 系统启动过程中常见的 MBR 扇区和 GRUB 引导程序故障及其解决方案,涵盖从备份、模拟故障到恢复的具体步骤。 ... [详细]
  • PHP 5.2.5 安装与配置指南
    本文详细介绍了 PHP 5.2.5 的安装和配置步骤,帮助开发者解决常见的环境配置问题,特别是上传图片时遇到的错误。通过本教程,您可以顺利搭建并优化 PHP 运行环境。 ... [详细]
  • 本文详细介绍了如何使用 Yii2 的 GridView 组件在列表页面实现数据的直接编辑功能。通过具体的代码示例和步骤,帮助开发者快速掌握这一实用技巧。 ... [详细]
  • 本文介绍如何在 Visual Studio Code 中使用 Jupyter Notebook 插件,包括创建、编辑和运行笔记本的基本操作。 ... [详细]
  • MySQL Debug 模式的实现与应用
    本文详细介绍了如何启用和使用 MySQL 的调试模式,包括编译选项、环境变量配置以及调试信息的解析。通过实际案例展示了如何利用调试模式解决客户端无法连接服务器的问题。 ... [详细]
  • 如何从python读取sql[mysql基础教程]
    从python读取sql的方法:1、利用python内置的open函数读入sql文件;2、利用第三方库pymysql中的connect函数连接mysql服务器;3、利用第三方库pa ... [详细]
author-avatar
拍友2502926823
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有