vi vim 末尾编辑按GA 在最后一行下方新增一行编辑按Go

vim 快速跳到文件末尾 在最后一行下方新增一行

移到末尾,并且进入文本录入模式 GA (大写G大写A)

在一般模式(刚进入的模式,esc模式)
GA Shift +ga
Gshift+g 到最后一行
然后 A shift+a 到本行末尾 并且进入文本录入模式

在最后一行下方新增一行 (光标换行,文字不换行) Go (大写G小写o)

在一般模式(刚进入的模式,esc模式)
Go Shift+g 然后 o
Gshift+g 到最后一行
然后 小写o 在该行下方新增一行

目录

  • vim 快速跳到文件末尾 在最后一行下方新增一行
    • 移到末尾,并且进入文本录入模式 `GA` (大写G大写A)
    • 在最后一行下方新增一行 (光标换行,文字不换行) `Go` (大写G小写o)
    • vi的多种工作模式
    • 移到末尾,并且进入文本录入模式
    • 在最后一行下方新增一行 (光标换行,文字不换行)
    • 扩展知识
      • 光标快速移动
        • 首行尾行
        • 行首行尾
      • 新增行, 并进入文字录入模式
      • 复制剪切粘贴
        • 复制
        • 剪切(删除)
        • 删除,并进入文字插入模式
        • 可视化选择复制或剪切
        • 粘贴
      • 撤销重做
      • 查找替换
          • 查找
        • 替换
          • 限制在可视的选定区域进行替换
      • 保存退出
      • 行号
      • 其它
      • 动作后会进入文字输入模式
        • 进入文字输入插入模式 INSERT模式
        • 进入文字输入覆盖模式 REPLACE模式
      • 解决Ubuntu22.04Desktop桌面版的vim的编辑模式下的上下左右变成ABCD
        • 解决办法1, 卸载重装vim
        • 解决办法2 , 修改 `/etc/vim/vimrc.tiny`

vi的多种工作模式

  1. 一般模式,刚进入vi的模式, esc模式,我觉得可叫快捷键模式(按键模式), 按esc的模式
  2. 文本输入模式(a , A , i , I , o , O , s , S ,C进入插入模式 R进入覆盖模式)
  3. 底部命令行模式(冒号:开头,/开头,?开头)
  4. 连续字符串选择可视模式(v)
  5. 块选择可是模式(ctrl+v)

移到末尾,并且进入文本录入模式

在一般模式(刚进入的模式,esc模式)
GA Shift +ga
Gshift+g 到最后一行
然后 A shift+a 到本行末尾 并且进入文本录入模式

在最后一行下方新增一行 (光标换行,文字不换行)

在一般模式(刚进入的模式,esc模式)
Go Shift+g 然后 o
Gshift+g 到最后一行
然后 小写o 在该行下方新增一行




扩展知识

vi vim 键盘图

光标快速移动

首行尾行

到最后行是在 esc模式下 键盘大写时按G键 或 小写时按shift+g
到第一行是按两次小写g gg 或者 输入:0:1

  • gg:0:1 --------首行
  • G ----------------------尾行
    888G888gg:888 到第888行或尾行

H屏首   M屏中   L屏尾

行首行尾
  • Ashift+a 移动到行尾,并进入文本录入模式
  • $ 移动到行末尾
  • 0 移动到行首 (零)
  • ^ 移动到本行第一个字符

新增行, 并进入文字录入模式

  • 在当前行下方新增一行并进入编辑模式, 用 o 小写
  • 在当前行上方新增一行并进入编辑模式, 用 O 大写

复制剪切粘贴

复制

3yhy3h光标前三字符   3yly3l光标及后两字符
yy 本行   y0行首到光标   y^本行第一个字符到光标   y$光标到行尾
3yyy3y 本行和下两行
yw 光标 至 空格后出现字符

剪切(删除)

剪切的d语法如同复制的y语法
3dhd3h光标前三字符   3dld3l光标及后两字符
dd 本行   d0行首到光标   d^本行第一个字符到光标   d$光标到行尾
3ddd3d 本行和下两行

x 剪切光标字符
X 剪切光标前一个字符

删除,并进入文字插入模式

C 光标到行末
3chc3h光标前三字符   3clc3l光标及后两字符
cc 本行   c0行首到光标   c^本行第一个字符到光标   c$光标到行尾
3ccc3c 本行和下两行

可视化选择复制或剪切

先将鼠标移到想要的开始位置,然后按v
然后就可以通过 上下左右 像鼠标按住左键那样选择
选好区域后按y复制,按d剪切

粘贴

p 粘贴到光标后
P 粘贴到光标前



撤销重做

u撤销
ctrl+r 重做



查找替换

查找

支持正则表达式
/pattern 向下查找pattern的匹配
?pattern 向上
n 下一个
N 上一个

替换

:s/a/b 本行第一个a变b
:s/a/b/g 本行所有a变b
:%s/a/b 所有行第一个a变b
:%s/a/b/g 所有行所有a变b , 整个文档的a变b

限制在可视的选定区域进行替换

用光标确定起始点, 然后v进入连续字符串选择, 或ctrl+v进入块选择
按冒号: , 底部出现 :'<,'>
:'<,'>后追加s/pattern/content/g 变成 :'<,'>s/pattern/conten/g
回车就能将pattern匹配到的内容替换



保存退出

:w----------------保存
:q----------------退出
:q! --------------强制退出
:wqZZ— 保存退出
:wq!------------ 强制保存退出



行号

:set nu 显示行号 :set nonu 关闭行号



其它

. 重复上一个动作 (点)
n空格键 光标移到n个字符后
n回车键 光标下移n行



动作后会进入文字输入模式

进入文字输入插入模式 INSERT模式

i 光标前插入
a 光标后插入
I 光标移到本行第一个字符后开始插入
O 光标上方插入一行
o 光标下方插入一行
S 删除本行
s 删除光标字符
C 删除光标到行尾
c 小c操作语法类似dy , 作用是删除, 如同d, 只是执行后会进入文字输入插入模式
3chc3h光标前三字符   3clc3l光标及后两字符
cc 本行   c0行首到光标   c^本行第一个字符到光标   c$光标到行尾
3ccc3c 本行和下两行
R进入覆盖模式,然后按键盘insert按键

进入文字输入覆盖模式 REPLACE模式

在插入模式下按insert按键
R 直接进入覆盖模式 (小写r接字符只替换光标处一个字符,替换后依旧在一般模式)




解决Ubuntu22.04Desktop桌面版的vim的编辑模式下的上下左右变成ABCD

Ubuntu22.04Desktop桌面版的vim的编辑模式下的上下左右变成ABCD , 退格键也失效

解决办法1, 卸载重装vim
sudo apt remove vim
sudo apt install -y vim
解决办法2 , 修改 /etc/vim/vimrc.tiny
  1. 将 兼容模式 改为 不兼容模式
    set compatible 改为 set nocompatible , 或加到后面
  2. 加入一条 set backspace=2

暂时没法用vi,vim , 可以用 nano 或 gedit 修改

远程用

sudo nano /etc/vim/vimrc.tiny

本机用

sudo gedit /etc/vim/vimrc.tiny

原先的 /etc/vim/vimrc.tiny

" Vim configuration file, in effect when invoked as "vi". The aim of this
" configuration file is to provide a Vim environment as compatible with the
" original vi as possible. Note that ~/.vimrc configuration files as other
" configuration files in the runtimepath are still sourced.
" When Vim is invoked differently ("vim", "view", "evim", ...) this file is
" _not_ sourced; /etc/vim/vimrc and/or /etc/vim/gvimrc are." Debian system-wide default configuration Vim
set runtimepath=~/.vim,/var/lib/vim/addons,/usr/share/vim/vimfiles,/usr/share/vim/vim82,/usr/share/vim>
set compatible" vim: set ft=vim:

修改后的 /etc/vim/vimrc.tiny

" Vim configuration file, in effect when invoked as "vi". The aim of this
" configuration file is to provide a Vim environment as compatible with the
" original vi as possible. Note that ~/.vimrc configuration files as other
" configuration files in the runtimepath are still sourced.
" When Vim is invoked differently ("vim", "view", "evim", ...) this file is
" _not_ sourced; /etc/vim/vimrc and/or /etc/vim/gvimrc are." Debian system-wide default configuration Vim
set runtimepath=~/.vim,/var/lib/vim/addons,/usr/share/vim/vimfiles,/usr/share/vim/vim82,/usr/share/vim>set nocompatible
set backspace=2" vim: set ft=vim:

用脚本修改

echo '" Vim configuration file, in effect when invoked as "vi". The aim of this
" configuration file is to provide a Vim environment as compatible with the
" original vi as possible. Note that ~/.vimrc configuration files as other
" configuration files in the runtimepath are still sourced.
" When Vim is invoked differently ("vim", "view", "evim", ...) this file is
" _not_ sourced; /etc/vim/vimrc and/or /etc/vim/gvimrc are." Debian system-wide default configuration Vim
set runtimepath=~/.vim,/var/lib/vim/addons,/usr/share/vim/vimfiles,/usr/share/vim/vim82,/usr/share/vim>set nocompatible
set backspace=2" vim: set ft=vim:' | sudo tee /etc/vim/vimrc.tiny

或者

sudo sed -ie 's/compatible/nocompatible\nset backspace=2/'  /etc/vim/vimrc.tiny

查看并试验vim的上下左右

sudo vi /etc/vim/vimrc.tiny

还原

echo '" Vim configuration file, in effect when invoked as "vi". The aim of this
" configuration file is to provide a Vim environment as compatible with the
" original vi as possible. Note that ~/.vimrc configuration files as other
" configuration files in the runtimepath are still sourced.
" When Vim is invoked differently ("vim", "view", "evim", ...) this file is
" _not_ sourced; /etc/vim/vimrc and/or /etc/vim/gvimrc are." Debian system-wide default configuration Vim
set runtimepath=~/.vim,/var/lib/vim/addons,/usr/share/vim/vimfiles,/usr/share/vim/vim82,/usr/share/vim>
set compatible" vim: set ft=vim:' | sudo tee /etc/vim/vimrc.tiny

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/128736.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

不会搭建企业网,建议你不要点开这篇文章

中午好&#xff0c;我是老杨。 企业网络搭建一直是网工技术里的基础且重要的部分&#xff0c;一些小白粉丝和我反馈&#xff0c;技术是了解一些&#xff0c;但是整体逻辑搭建不起来。 企业网是很多网工都会面临的一个工作日常环境。 但是&#xff0c;尽管很多人每日接触&…

react-router

一、react-router是什么 react-router是一个用于管理React应用程序中路由的库。路由是指确定应用程序如何根据URL路径来渲染不同的组件和页面。使用react-router可以将应用程序的不同页面映射到不同的URL路径&#xff0c;以及在用户导航时动态地加载适当的组件。这样&#xff…

shardingphere Sharding count cannot be null解决方案

shardingphere Sharding count cannot be null解决方案 问题背景解决方案Lyric&#xff1a; 我知道坚持要走 问题背景 使用shardingphere分表分库时&#xff0c;出现分表算法设置错误 Caused by: java.lang.IllegalArgumentException: Sharding count cannot be null.at com.…

mapbox使用marker创建html点位信息

mapbox使用marker创建html点位信息 codePen地址 mapboxgl.accessToken "pk.eyJ1IjoibGl1emhhbzI1ODAiLCJhIjoiY2xmcnV5c2NtMDd4eDNvbmxsbHEwYTMwbCJ9.T0QCxGEJsLWC9ncE1B1rRw"; const center [121.29786, 31.19365]; const map new mapboxgl.Map({container: &quo…

双十一买电视盒子什么牌子好?拆机达人强推目前性能最好的电视盒子

我这几年拆过的电视盒子已经有40多款了&#xff0c;最近看到网友们在讨论双十一电视盒子怎么挑选&#xff0c;就我拆机的经验来说&#xff0c;有些产品在硬件上存在问题的确较多&#xff0c;不知道双十一买电视盒子什么牌子好&#xff0c;可以参考我整理的目前性能最好的电视盒…

windows 运行 Mysql Command Line Client 自动关闭闪退原因分析

目录 原因分析一 原因分析二 原因分析三 第一次使用 MySQL Command Line Client 有可能输入密码后一按下回车键&#xff0c;程序窗口就自动关闭&#xff0c;出现闪退现象。本节主要分析产生闪退现象的原因以及如何处理这种情况。 原因分析一 首先可以查看程序默认执行文件…

电源管理(PMIC)MAX20428ATIA/VY、MAX20428ATIC/VY、MAX20428ATIE/VY适合汽车ADAS应用的开关稳压器

一、概述 MAX20428是一款高效率、八路输出、低压PMIC。OUT1将输入电源升压至5V&#xff0c;电流高达500mA&#xff0c;而三个同步降压转换器的输入电压范围为3.0V至4.2V&#xff0c;输出电压范围为0.8V至3.9875V&#xff0c;峰值电流分别高达1.3A、1.3A和3.5A。三个300mA pMOS…

团队表 -多级团队设计

团队表 -多级团队设计 user_team团队表 &#xff0c;如果存在子团队 1.我们可以通过每一个团队字段加一个parentid &#xff08;相当于一对多的关系&#xff09; 2.还可以设置一个字段CodingNum,比如这样: //系统为了管理查询团队自动生成的有序编号 可以使用3位数代表一个…

Spring cloud教程Gateway服务网关

Spring cloud教程|Gateway服务网关 写在前面的话&#xff1a; 本笔记在参考网上视频以及博客的基础上&#xff0c;只做个人学习笔记&#xff0c;如有侵权&#xff0c;请联系删除&#xff0c;谢谢&#xff01; Spring Cloud Gateway 是 Spring Cloud 的一个全新项目&#xff0c;…

JS中null和undefined的区别

首先 Undefined 和 Null 都是基本数据类型&#xff0c;这两个基本数据类型分别都只有一个值&#xff0c;就是 undefined 和 null。 undefined 代表的含义是未定义&#xff0c;null 代表的含义是空对象。一般变量声明了但还没有定义的时候会返回 undefined&#xff0c;null主要…

使用HttpClient库的爬虫程序

使用HttpClient库的爬虫程序&#xff0c;该爬虫使用C#来抓取内容。 using System; using System.Net.Http; using System.Threading.Tasks; ​ namespace CrawlerProgram {class Program{static void Main(string[] args){// 创建HttpClient对象using (HttpClient client new…

Ubuntu更新apt-get安装镜像源

前往清华开源镜像站获取镜像链接 修改镜像源&#xff0c;打开配置文件&#xff0c;将镜像源链接粘贴到配置文件 sudo vim /etc/apt/sources.list更新软件列表到本地 sudo apt-get update更新所有软件&#xff08;非必要&#xff09; sudp apt-get upgrade

java入门,程序=数据结构+算法

一、前言 在学习java的时候&#xff0c;我印象最深的一句话是&#xff1a;程序数据结构算法&#xff0c;对于写java程序来说&#xff0c;这就是java的入门。 二、java基本数据结构与算法 1、数据类型 java中的数据类型8种基本数据类型&#xff1a; 整型 byte 、short 、int…

win7中安装node14和vue

下载并安装低版本node 13 到官网去找早期历史版本的 nodejs 13 msi格式即可&#xff0c;并一键安装&#xff0c;我安装在了 D:\Program Files\nodejs 目录下 https://nodejs.org/download/release/v13.14.0/ 下载高版本node 14 下载高版本的node zip包 https://nodejs.org/…

VMware打开centos黑屏解决方法汇总以及解决出现的bug(Centos7系统网络异常等)

VMware打开centos黑屏解决方法汇总 前言&#xff1a;一. VMware打开centos黑屏解决方法汇总一 .情况情况一&#xff1a;情况二情况三 二. 解决方法最简单的方法&#xff1a;一. 以管理员权限在命令行执行1. 管理员身份运行cmd2. 输入“netsh winsock reset”,回车3. 重启电脑即…

影视企业有哪些方式将视频文件快速海外跨国传输国内?

影视行业是一个高度国际化的行业&#xff0c;影视企业在跨国合作、制作、发行等方面有着强烈的需求。然而&#xff0c;影视企业在跨国文件传输方面也面临着诸多的问题和难题。视频文件通常具有较大的文件大小、多样的文件格式、高要求的文件质量等特点&#xff0c;这些特点使得…

激光雷达标定板如何提高激光雷达避免误判的精准度

激光雷达在提高自动驾驶的安全性方面具有重要作用。它通过高精度测量、避免误判、实时感知、适应不同环境和结合其他传感器等方式&#xff0c;为自动驾驶系统提供准确、可靠的感知数据&#xff0c;从而确保行驶的安全性和稳定性。 激光雷达可以通过以下方式避免误判&#xff1a…

web3 在React dapp中全局管理web3当前登录用户/智能合约等信息

上文 Web3 React项目Dapp获取智能合约对象我们在自己的前端dapp项目中链接获取到了 自己的智能合约 我们继续 我们还是先启动ganache环境 终端输入 ganache -d然后发布一下我们的智能合约 打开我们的合约项目 终端输入 truffle migrate --reset这样 我们的智能合约就部署到区…

MVCC详解

什么是MVCC&#xff1f; MVCC&#xff0c;即Multi-Version Concurrency Control &#xff08;多版本并发控制&#xff09;。它是一种并发控制的方法&#xff0c;一般在数据库管理系统中&#xff0c;实现对数据库的并发访问&#xff0c;在编程语言中实现事务内存。 通俗的讲&am…

无显示器和网线安装树莓派4B Raspbian 操作系统

1、下载Raspbian镜像&#xff1a; 下载地址&#xff1a;Operating system images – Raspberry Pi 推荐预装软件带桌面的系统&#xff0c;点击download按钮&#xff0c;大概2.5G&#xff0c;漫长下载ing。下载完毕之后&#xff0c;解压得到一个后缀是img的镜像文件备用。 2、…