Linux命令+shell脚本大全:vim 基础

2023-05-16

免费教程推荐:python、C++、Java、JS、Rust、Go语言入门完全手册(6合1).zip-Python文档类资源-CSDN下载

vim编辑器在内存缓冲区中处理数据。只要键入 vim 命令(或 vi ,如果这个别名或链接文件
存在的话)和要编辑的文件的名字就可以启动vim编辑器:
$ vim myprog.c
如在启动vim时未指定文件名,或者这个文件不存在,vim会开辟一段新的缓冲区域来编辑。
如果你在命令行下指定了一个已有文件的名字,vim会将文件的整个内容都读到一块缓冲区域来
准备编辑,如图10-1所示。

vim编辑器会检测会话终端的类型(参见第2章),并用全屏模式将整个控制台窗口作为编辑
器区域。
最初的vim编辑窗口显示了文件的内容(如果有内容的话),并在窗口的底部显示了一条消息
行。如果文件内容并未占据整个屏幕,vim会在非文件内容行放置一个波浪线(如图10-1所示)。
底部的消息行根据文件的状态以及vim安装时的默认设置显示了所编辑文件的信息。如果文
件是新建的,会出现消息 [New File] 。
vim编辑器有两种操作模式:
  普通模式
  插入模式
当你刚打开要编辑的文件时(或新建一个文件时),vim编辑器会进入普通模式。在普通模式
中,vim编辑器会将按键解释成命令(本章后面会讨论更多)。
在插入模式下,vim会将你在当前光标位置输入的每个键都插入到缓冲区。按下i键就可以进
入插入模式。要退出插入模式回到普通模式,按下键盘上的退出键(ESC键,也就是Escape键)
就可以了。
在普通模式中,可以用方向键在文本区域移动光标(只要vim能正确识别你的终端类型)。如
果你恰巧在一个古怪的没有定义方向键的终端连接上,也不是完全没有希望。vim中有用来移动
光标的命令。
  h :左移一个字符。
  j :下移一行(文本中的下一行)。
  k :上移一行(文本中的上一行)。
  l :右移一个字符。
在大的文本文件中一行一行地来回移动会特别麻烦,幸而vim提供了一些能够提高移动速度
的命令。
  PageDown (或Ctrl+F):下翻一屏。
  PageUp (或Ctrl+B):上翻一屏。
  G :移到缓冲区的最后一行。
  num G :移动到缓冲区中的第 num 行。
  gg :移到缓冲区的第一行。
vim编辑器在普通模式下有个特别的功能叫命令行模式。命令行模式提供了一个交互式命令
行,可以输入额外的命令来控制vim的行为。要进入命令行模式,在普通模式下按下冒号键。光
标会移动到消息行,然后出现冒号,等待输入命令。
在命令行模式下有几个命令可以将缓冲区的数据保存到文件中并退出vim。
  q :如果未修改缓冲区数据,退出。
  q! :取消所有对缓冲区数据的修改并退出。
  w filename :将文件保存到另一个文件中。
  wq :将缓冲区数据保存到文件中并退出。
了解了这些基本的vim命令后,你可能就理解为什么有人会痛恨vim编辑器了。要想发挥出vim
的全部威力,你必须知道大量晦涩的命令。不过只要了解了一些基本的vim命令,无论是什么环
境,你都能快速在命令行下直接修改文件。一旦适应了敲入命令,在命令行下将数据和编辑命令
一起输入就跟第二天性一样自然,再回过头使用鼠标反倒觉得奇怪了。 

免费教程推荐:python、C++、Java、JS、Rust、Go语言入门完全手册(6合1).zip-Python文档类资源-CSDN下载

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Linux命令+shell脚本大全:vim 基础 的相关文章

  • 退出代码大于 255 — 可能吗?

    如果是 在哪个操作系统 shell 或其他操作系统上 考虑以下 Java 程序 我使用 Java 只是作为示例 任何语言都适合这个问题 这更多地与操作系统有关 public class ExitCode public static void
  • 如何并行执行4个shell脚本,我不能使用GNU并行?

    我有4个shell脚本dog sh bird sh cow sh和fox sh 每个文件使用 xargs 并行执行 4 个 wget 来派生一个单独的进程 现在我希望这些脚本本身能够并行执行 由于某些我不知道的可移植性原因 我无法使用 GN
  • 嵌入清单文件以要求具有 mingw32 的管理员执行级别

    我正在 ubuntu 下使用 i586 mingw32msvc 交叉编译应用程序 我很难理解如何嵌入清单文件以要求 mingw32 具有管理员执行级别 对于我的例子 我使用了这个hello c int main return 0 这个资源文
  • 为 Linux 编译 Objective-C 应用程序(API 覆盖范围)

    我可能在这里问一些奇怪的问题 但我不确定从哪里开始 问题是我正在考虑使用 Obj C 和 Foundation 类在 Mac 上编写一个命令行工具 但存在一个非常大的风险 那就是我希望能够为不同的 Linux 发行版编译它 以便将来作为服务
  • 在汇编中使用 printf 会导致管道传输时输出为空,但可以在终端上使用

    无输出 https stackoverflow com questions 54507957 printf call from assembly do not print to stdout即使在终端上 当输出不包含换行符时也有相同的原因
  • 如何在线程创建和退出时调用函数?

    include
  • 如何在 Linux 上通过 FTP 递归下载文件夹 [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 Locked 这个问题及其答案是locked help locked posts因为这个问题是题外话 但却具有历史意义 目前不接受新的答案
  • 在压缩存档内的文本文件上运行“head”,而不解压存档

    问候 我接手了之前的团队并编写了处理 csv 文件的 ETL 作业 我在 ubuntu 上结合使用 shell 脚本和 perl csv 文件很大 它们以压缩档案形式到达 解压后 很多都超过 30Gb 是的 那是 G 旧进程是在 cron
  • 为什么 fork 炸弹没有使 android 崩溃?

    这是最简单的叉子炸弹 我在许多 Linux 发行版上执行了它 但它们都崩溃了 但是当我在 android 终端中执行此操作时 即使授予后也没有效果超级用户权限 有什么解释为什么它没有使 Android 系统崩溃吗 一句话 ulimit Li
  • 在 docker 中重定向命令输出

    我想为我的服务器做一些简单的日志记录 它是一个在 Docker 容器中运行的小型 Flask 应用程序 这是 Dockerfile Dockerfile FROM dreen flask MAINTAINER dreen WORKDIR s
  • ioctl 命令的用户权限检查

    我正在实现 char 驱动程序 Linux 并且我的驱动程序中有某些 IOCTL 命令仅需要由 ADMIN 执行 我的问题是如何在 ioctl 命令实现下检查用户权限并限制非特权用户访问 IOCTL 您可以使用bool capable in
  • C# - 使用 Vim 作为主编辑器 [关闭]

    Closed 这个问题是无关 help closed questions 目前不接受答案 我已经喝了酷乐了 Vim 优雅美丽 我必须学习如何使用它并配置它以拥有一个出色的编译器 这是最好的学习方式 问题是 我从哪里开始 是否有一个很好的教程
  • 在内核代码中查找函数的最佳方法[关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我开始浏览内核代码 遇到的一件事是如何跟踪函数调用 结构定义等 有没有一种好的方法可以快速跳转到函数定义并退出 我尝试过 Source N
  • 找不到包“gdk-pixbuf-2.0”

    我正在尝试在 Amazon Linux 发行版实例上构建 librsvg 我已经通过 yum 安装了大部分依赖项 其中一些在实例上启用的默认 yum 存储库中不可用 因此必须从头开始构建它们 我已经走了很远 但还停留在最后一点 跑步时sud
  • Vim 在 Mingw 上表现异常

    我在 MinGW 4 6 2 上的 Vim 表现得很奇怪 例如 在插入模式下按 Backspace 会删除字符 但我必须用箭头键移动光标才能删除的字符消失 而且它也会使我退出插入模式 另一个例子 按 Del 删除字符有时会生成奇怪的字符 例
  • 仅使用containerd(不使用Docker)修剪容器镜像

    如果我刚刚containerd安装在 Linux 系统上 即 Docker 是not安装 如何删除未使用的容器映像以节省磁盘空间 Docker 就是这么方便docker system prune https docs docker com
  • Linux 中 m 标志和 o 标志将存储在哪里

    我想知道最近收到的路由器通告的 m 标志和 o 标志的值 从内核源代码中我知道存储了 m 标志和 o 标志 Remember the managed otherconf flags from most recently received R
  • 如何从 LaTeX 执行 shell 脚本?

    我正在尝试在 LaTeX 中执行以下操作 documentclass article begin document execute usr local bin my shell script sh end document 想法是执行 us
  • Google BQ:运行参数化查询,其中参数变量是 BQ 表目标

    我正在尝试从 Linux 命令行为 BQ 表目标运行 SQL 此 SQL 脚本将用于多个日期 客户端和 BQ 表目标 因此这需要在我的 BQ API 命令行调用中使用参数 标志 parameter 现在 我已经点击此链接来了解参数化查询 h
  • 如何为 Linux 桌面条目文件指定带有相对路径的图标?

    对于我的一个 Linux 应用程序 我有应用程序二进制文件 一个 launcher sh 脚本 针对 LD LIBRARY PATH 和一个 desktop 文件 所有这些都位于同一文件夹中 我想使用图标的相对路径而不是绝对路径 我试过了

随机推荐

  • 74HC1G66模拟开关,多路复用

    SEL为低电平的时候 xff0c SD导通 SEL为高电平的时候 xff0c SD不导通 直接看数据手册
  • 一张图了解MOS管导通条件

    不管他长什么样 xff0c 直接就看箭头指向 箭头向栅极 xff0c 就是nmos管 xff0c 高电平导通 箭头向外 xff0c 就是pmos管 xff0c 低电平导通 一边连了两根线的就是s极
  • Android SDK的安装配置

    SDK xff1a xff08 software development kit xff09 软件开发工具包 被软件开发工程师用于为特定的软件包 软件框架 硬件平台 操作系统等建立应用软件的开发工具的集合 因此 xff0c Android
  • 1.C++简介

    学习目标 xff1a 初识C 43 43 xff0c 介绍C 43 43 一些简单的语法 xff1a 初识C 43 43 数据类型 运算符 程序流程结构 学习内容 xff1a 1 初识C 43 43 一个简单的C 43 43 框架 xff0
  • 死锁形成的原因和四个必要条件

    死锁的概念 死锁是指两个或两个以上的进程 xff08 线程 xff09 在运行过程中因争夺资源而造成的一种僵局 xff0c 若无外力作用 xff0c 这些进程 xff08 线程 xff09 都将无法向前推进 xff0c 这时就形成了死锁 处
  • Android P阻止调用非sdk api后,Atlas该何去何从

    0 背景 自从Android 9 0后 xff0c Android就已经开始着手阻止app开发调用非sdk的api xff0c 也就是被标记为 64 hide的变量 函数 类不可以通过反射调用 xff0c 否则会提示NoSuchMethod
  • 简历应该这么写!

    很多同学刚开始找工作时 xff0c 投出去很多简历 xff0c 但是都石沉大海了 xff0c 没有后文 之所以简历不通过 xff0c 往往都是简历不够 好看 很多大公司HR经常一天要看几百份 xff0c 甚至上千份简历 xff0c 基本都是
  • 希望计算机专业同学都知道这些老师

    C语言教程 翁凯老师 赫斌 翁恺老师是土生土长的浙大码农 xff0c 从本科到博士都毕业于浙大计算机系 xff0c 后来留校教书 xff0c 一教就是20多年 翁恺老师的c语言课程非常好 xff0c 讲解特别有趣 xff0c 很适合初学者学
  • 100个python算法超详细讲解:抓交通肇事犯

    1 xff0e 问题描述 一辆卡车违反交通规则 xff0c 撞人后逃跑 现场有三人目 该事件 xff0c 但都 没有记住车号 xff0c 只记下了车号的一些特征 说 xff1a 牌照的前两位数字是相 同的 xff1b 乙说 xff1a 牌照
  • 100个python算法超详细讲解:百钱百鸡

    1 xff0e 问题描述 中国古代数学家张丘建在他的 算经 中提出了一个著名的 百钱 百鸡问题 xff1a 一只公鸡值五钱 xff0c 一只母鸡值三钱 xff0c 三只小鸡值一钱 xff0c 现 在要用百钱买百鸡 xff0c 请问公鸡 母鸡
  • 100个python算法超详细讲解:水仙花数

    1 xff0e 问题描述 输出所有的 水仙花数 所谓的 水仙花数 是指一个三位数 xff0c 其各位数字的立方 和等于该数本身 xff0c 例如 xff0c 153是 水仙花数 xff0c 因为153 61 1 3 43 1 3 43 3
  • 100个python算法超详细讲解:常胜将军

    100个python算法超详细讲解 64 谷歌学术 1 xff0e 问题描述 有火柴21根 xff0c 两人依次取 xff0c 每次每人只可取走1 xff5e 4根 xff0c 不能多取 xff0c 也不能不取 xff0c 谁取到最后一根火
  • 100个python算法超详细讲解:逆序输出数字

    100个python算法超详细讲解 64 谷哥技术 1 xff0e 问题描述 编程实现将输入的整数逆序输出 2 xff0e 问题分析 前面我们已经接触过很多的递归问题了 xff0c 这些递归问题可以简单 地分成两类 xff1a 一类可以归结
  • 100个python算法超详细讲解:角谷猜想

    1 xff0e 问题描述 角谷猜想在西方常被称为西拉古斯猜想 xff0c 据说这个问题首先是在 美国的西拉古斯大学被研究的 xff0c 而在东方 xff0c 这个问题则由将它带到日 本的日本数学家角谷静夫的名字来命名 xff0c 故被称为角
  • 100个python算法超详细讲解:统计学生成绩

    完整版下载 超详细Python算法案例讲解100例 zip Python文档类资源 CSDN下载 1 xff0e 问题描述 有5个学生 xff0c 每个学生有三门课程的成绩需要统计 要求从键盘输入学生的学号 姓名以及三门课程 的成绩 xff
  • apt update、apt upgrade 和 apt dist-upgrade 的区别

    1 root 64 kali apt update apt update 的作用是从 etc apt sources list文件中定义的源中获取的最新的软件包列表 即运行 apt update 并没有更新软件 xff0c 而是相当 win
  • C++服务器开发100个知识要点C++RAII惯用法

    最初的写法 在笔者刚学习服务器开发的时候 xff0c 公司给笔者安排了一个练习 xff1a 在 Windows 系统上写一个 C 43 43 程序 xff0c 用该程序实现一个简单的服务 xff0c 在客户端连接上来时 xff0c 给客户端
  • 人工智能知识全面讲解: 人脸识别技术

    早在40年前 xff0c 图像识别领域就有很多关于人脸识别的研究 但是在当时 xff0c 传统算法在普通图像识别中已经很难取得良好的识别效果 xff0c 更何况还要从人脸 中提取更加细微的特征 在很长一段时间里 xff0c 人脸识别主要存在
  • Redis入门完整教程:缓存的收益和成本

    图11 1左侧为客户端直接调用存储层的架构 xff0c 右侧为比较典型的缓存层 43 存储层架构 xff0c 下面分析一下缓存加入后带来的收益和成本 收益如下 xff1a 加速读写 xff1a 因为缓存通常都是全内存的 xff08 例如Re
  • Linux命令+shell脚本大全:vim 基础

    免费教程推荐 xff1a python C 43 43 Java JS Rust Go语言入门完全手册 xff08 6合1 xff09 zip Python文档类资源 CSDN下载 vim编辑器在内存缓冲区中处理数据 只要键入 vim 命令