首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

linux vi命令 退出不保存,linux vi保存退出命令(如何退出vi

Vi放弃所作修改而直接退到shell下,则Vi在显示窗口的状态行给出提示信息: File exists (use ! to override) 此时, 在末行模式下,。...在末行模式下,若在用此命令退出Vi时,返回到shell;若当前编辑的文件没被修改过,输入命令 :wq Vi将先保存文件,输入命令 :w Vi保存当前编辑文件,输入命令 :x 该命令的功能同命令模式下的ZZ...命令功能相同,连按两次大写字母Z,编辑文件没有被保存,然后Vi并不退出, 在命令模式中,则Vi保存该文件后退出。...newfile 否则可选择另外的文件名来保存当前文件,若当前编辑的文件曾被修改过,但并不退出,若用户就是不想保存被修改后的文件而要强行退出Vi时, 在末行模式下,则Vi直接退出, 返回到shell,若newfile...是一个已存在的文件,然后退出Vi返回到shell, 在末行模式下,则Vi在显示窗口的最末行显示如下信息: No write since last change (use !

26.8K20
您找到你想要的搜索结果了吗?
是的
没有找到

linux源码epoll

简单的epoll例子 下面的例子,是笔者本人用c语言写的dbproxy中的一段代码。由于细节过多,所以做了一些删减。...那么,由accept获得的client_fd的结构如下图所示: (注:由于是tcp socket,所以这边sock->ops=inet_stream_ops,这个初始化的过程在我的另一篇博客>中,博客地址如下: https://my.oschina.net/alchemystar/blog/1791017) 既然知道了tfile->f_op->poll的实现...add_wait_queue(whead, &pwq->wait); } 这样client_fd的结构进一步完善,如下图所示: ep_poll_callback函数是唤醒对应epoll_wait的地方,我们将在后面一起讲述...总结 epoll作为linux下非常优秀的事件触发机制得到了广泛的运用。其源码还是比较复杂的,本文只是阐述了epoll读写事件的触发机制,探究linux kernel源码的过程非常快乐_。

2.2K20

Linux vi的使用

Linux vi的使用 vi模式转换 经常使用的三种基本模式:命令模式(Command Mode),输入模式(Input Mode),末行模式(Last Line Mode),其他的9种模式不做介绍,...vi文件保存和退出 :w 保存文件 :q 退出文件,若文件有改动则提示不能退出 :q!...强制退出,即不保存就退出 :wq 保存并且退出 vi常用操作 1、插入文本(i,I,a,A,o,O) 添加: 输入a后,在光标的右边插入文本 输入A,在一行的结尾处添加文本 插入:...输入dw来删除该词余下的部分 删除一行 将光标放置到该行的任意处并输入dd 删除多行 ndd    包括当前行 删除到文件的结尾 为删除当前行到文件结尾的所有内容(包括当前行),需输入dG 4、复制...复制一行命令:yy 粘贴命令:p  (粘贴到当前行的下一行) 复制指定文件的内容  : r filename 5、查找一个字符串 输入/,并在/后面输入要查找的串,然后按下回车

8.7K10

Linux——vi命令详解

vi编辑器是所有Unix及Linux系统下标准的编辑器,它的强大不逊色于任何最新的文本编辑器,这里只是简单地介绍一下它的用法和一小部分指令。...由于对Unix及Linux系统的任何版本,vi编辑器是完全相同的,因此您可以在其他任何介绍vi的地方进一步了解它。...Vi也是Linux中最基本的文本编辑器,学会它后,您将在Linux的世界里畅行无阻。...ESC 输入状态退至命令状态 x 删除光标后面的字符 #x 删除光标后的#个字符 X (大写X),删除光标前面的字符 #X 删除光标前面的#个字符 dd 删除光标所在的行 #dd 删除光标所在行数的...R:用随后输入的文本取代当前光标处及其后面的若干字符,每输入一个字符就取代原有的一个字符,直到按键结束这次取代。若新输入的字符数超过原有对应字符数,则多出部分就附加在后面

9.5K20

linuxvi,vim命令

vim 是对 vi 的扩展,文中的很多操作是 vi 通用的 vi 是区分大小写的命令的,也就是说 g与G 是不同的命令 在不同模式下,快捷键是不一样的 模式分 一般模式 编辑模式 指令模式 一般模式用于文件内部操作...,直到按 esc 为止 s 当前行开始,以输入的文本替代指定数目的字符 S 删除指定数目的行,并以输入的文本替代 ncw,nCW 修改指定数目 n 的字符 nCC 修改指定数目 n 的行 删除命令...按键 效果 ndw,nDW 删除光标开始及其后 n-1 个字符 dw 删除这个单词后面的内容 dd 删除光标当前行 dG 删除光标后的全部文字 d$ 删除本行光标后面的内容 d0 删除本行光标前面的内容...当我们输入命令中的 “0” 时,Vim 会认为我们要在文本中插入一个 0,并在屏幕上显示输入的“0”;然后当我们执行命令 0-Ctrl-Shift-d 时,Vim 就会意识到我们要做的是减少缩进,这时 0 会就会屏幕上消失...* 或 + 寄存器,则可能是由于没有安装 vim 的图形界面所致 sudo apt-get install vim-gnome 设置 vim 永远显示行号 修改 vim 的配置文件加入 set nu vi

21.5K20

Linux-vi和vim

文章目录 vi和vim 模式 一般模式 编辑模式 命令模式 快捷键 vi和vim ---- Vi是unix/linux操作系统中最经典的文本编辑器,只能是编辑字符,不能对字体、段落进行排版;它既可以新建文件...Vim是 Vi 发展出来的一个文本编辑器,可以看做是 Vi 的增强版本,可以主动的以字体颜色辨别语法的正确性,方便程序设计代码补全、编译及错误跳转等方便编程的功能特别丰富,vim适用于coding。...就能进入一般模式了: 编辑模式 在一般模式下输入以下快捷键就能进入到编辑模式,进行文本编辑: 快捷键 作用 i 目前光标所在处输入(常用) I 在目前所在行的第一个非空格符处开始输入 a 目前光标所在的下一个字符处开始输入...A 光标所在行的最后一个字符处开始输入 o 在目前光标所在的下一行处输入新的一行 O 在目前光标所在处的上一行输入新的一行 r 只会取代光标所在的那一个字符一次 R 会一直取代光标所在的文字,直到按下...则为强制保存并退出(常用) :w [filename] 将编辑的数据储存成另一个档案(类似另存新档) :r [filename] 在编辑的数据中,读入另一个档案的数据并加到游标所在行后面 :!

7.9K20

Linux 学习VI编辑器

:强制退出,不保存 vi(vim)可以说是linux中用得最多的工具了,不管你配置服务也好,写脚本也好,总会用到它。...i: 插入,目前光标所在之处插入所输入的文字。 a: 增加,目前光标所在的下一个字开始输入文字。 o: 插入新的一行,行首开始输入文字。...,强制离开并放弃编辑的文件) Command mode功能键列表 在介绍command mode指令的时后,指令后面加上“常用”字眼的功能键,表示比较常用的vi指令,请读者您一定要学会、记住。...[常用] (3)删除文字 x:每按一次删除光标所在位置的后面一个字符。[超常用] x:例如,6x 表删除光标所在位置的后面6个字符。...│不保存文件,直接退出      │ ├───────────┼───────────────┤ │:q          │退出vi            │ VI常用技巧VI命令可以说是Unix/Linux

7.6K30

Linux基础(vi,我的最爱)

很多时候我们需要在多个源程序之间实现函数、宏定义、外部变量等的跳转查询,甚至有时候需要到内核或库源代码里窥视他们真面目,这对于windows的各种IDE而言都是基本功能,但是我最爱的vi呢?...vi是我的最爱,不仅因为他的高效,还因为他支持插件,今天只讲一款,叫ctag,用来干嘛?当然就是帮我们做代码定义跳转啦。废话少讲,来搞搞: 第一,下载。...事情的开始,你需要库函数的源代码和Linux内核的源代码,我们的目的就是要在需要的时候可以跳转到这些地方的某些文件当中去查看相关的资料信息,有了上面的ctags工具之后,我们就可以在源代码的顶层目录处执行下面这条命令...其中/home/vincent/*的意思是:在该路径下的所有文件(因为用了通配符*)都可以通过tags文件实现跳转(包括其子目录),而这个tags文件,就是由后面这个路径/home/vincent/glibc...例如添加以下信息(注意/home/vincent要换成你自己的系统的家目录路径): au BufEnter /home/vincent/* setlocal tags+=/home/vincent/Linux

4.9K10

linuxvi,vim 命令

vim 是对 vi 的扩展,文中的很多操作是 vi 通用的 vi 是区分大小写的命令的,也就是说 g与G 是不同的命令 在不同模式下,快捷键是不一样的 模式分 一般模式 编辑模式 指令模式 一般模式用于文件内部操作...,直到按 esc 为止 s 当前行开始,以输入的文本替代指定数目的字符 S 删除指定数目的行,并以输入的文本替代 ncw,nCW 修改指定数目 n 的字符...当我们输入命令中的 “0” 时,Vim 会认为我们要在文本中插入一个 0,并在屏幕上显示输入的“0”;然后当我们执行命令 0-Ctrl-Shift-d 时,Vim 就会意识到我们要做的是减少缩进,这时 0 会就会屏幕上消失...寄存器,则可能是由于没有安装 vim 的图形界面所致undefinedsudo apt-get install vim-gnome 设置 vim 永远显示行号 修改 vim 的配置文件加入 set nu vi...set shiftwidth=n 设置自动语法高亮 syntax on 原文链接:https://rumenz.com/rumenbiji/linux-vi-vim.html

6.9K00

linuxvi命令大全

n个词移到缺省缓冲区中        │ ├──┼──────────────────────┤ │p  │如果缺省缓冲区中包含一行文本,则在当前   │ │  │行后面插入一个空行井将缺省缓冲区中的声.../Linux世界里最常用的编辑文件的命令了,但是因为它的命令集众多,很多人都不习惯使用它,其实您只需要掌握基本命令,然后加以灵活运用,就会发现它的优势,并会逐渐喜欢使用这种方法。...虽然您可以在Linux中使用键盘右边的4个光标键,但是记住这4个命令还是非常有用的。这4个键正是右手在键盘上放置的基本位置。 nG——跳转命令。n为行数,该命令立即使光标跳到指定行。...string——光标所在处向后或向前查找相应的字符串的命令。 —- 4.拷贝复制命令 —- yy、p——拷贝一行到剪贴板或取出剪贴板中内容的命令。...*//g 删除/etc/passwd中用户名后面冒号开始直到行尾的所有部分。

16.2K30

Linux源码Socket(TCP)的accept

前言 笔者一直觉得如果能知道应用到框架再到操作系统的每一处代码,是一件Exciting的事情。...关于epoll的原理可以看下笔者之前的博客《linux源码epoll》: https://www.cnblogs.com/alchemystar/p/13161781.html 在这里描述一下原因,...在accept_queue被填充后,由用户线程通过accept系统调用队列中获取对应的fd 值得注意的是,当用户线程来不及处理的时候,内核会drop掉三次握手成功的连接,导致一些诡异的现象,具体可以笔者的另一篇博客...: https://www.cnblogs.com/alchemystar/p/13473999.html 另外,对于accept_queue具体的填充机制以及源码,可以见笔者另一篇博客的详细分析 《Linux...源码Socket(TCP)的listen及连接队列》: https://www.cnblogs.com/alchemystar/p/13845081.html 总结 Linux内核源码博大精深,每次扎进去探索时候都会废寝忘食

1.8K00
领券