当前位置: 首页 > news >正文

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

相关文章:

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

vim 快速跳到文件末尾 在最后一行下方新增一行 移到末尾,并且进入文本录入模式 GA (大写G大写A) 在一般模式(刚进入的模式,esc模式) GA 或 Shift ga 先 G 或 shiftg 到最后一行 然后 A 或 shifta 到本行末尾 并且进入文本录入模式 在最后一行下方新增一行 (光标换行,文字不…...

LeetCode热题100 240.搜索二维矩阵||

题目描述&#xff1a; 编写一个高效的算法来搜索 m*n 矩阵 matrix 中的一个目标值 target 。该矩阵具有以下特性&#xff1a; 每行的元素从左到右升序排列。每列的元素从上到下升序排列。 示例1&#xff1a; 输入&#xff1a;matrix [[1,4,7,11,15],[2,5,8,12,19],[3,6,9,16,2…...

Anaconda安装及使用教程

前言&#xff1a;鉴于本人曾经学过计算机双学位&#xff0c;近日突然发现电脑上装了Anaconda&#xff0c;然而脑子里对为什么装这个&#xff0c;啥时候装的以及怎么用的都忘记了。因此&#xff0c;想学习了解下这个软件。 1 Anaconda简介 Anaconda&#xff0c;一个开源的Pyth…...

动态规划算法实现------转换(编辑、变换)问题

目录 一、字符串转换问题 1.1问题 1.2确定动态规则(DP、状态转移方程)、初始值 (1)插入操作实现状态转移 (2)删除操作实现状态转移 (3)替换操作实现状态转移 (4)初始值 1.3动态规划算法代码实现 (1)完整代码 (2)程序速度优化 二、矩阵变换问题 2.1问题 2.2矩阵乘法 (1)矩阵相乘…...

C#使用Oracle.ManagedDataAccess.dll

1、添加引用 在网上下载一个Oracle.ManagedDataAccess.dll&#xff0c;引用即可&#xff0c;视操作系统的位数&#xff0c;最重要的是减少了Oracle客户端的安装&#xff1b; 2、web.config字串 <appSettings> <add key"hrp" value"Data Source (…...

分享88个工作总结PPT,总有一款适合您

分享88个工作总结PPT&#xff0c;总有一款适合您 88个工作总结PPT下载链接&#xff1a;https://pan.baidu.com/s/1y08X9RMdIOCncbs28aMgDw?pwd8888 提取码&#xff1a;8888 Python采集代码下载链接&#xff1a;采集代码.zip - 蓝奏云 蓝色水彩风年终总结PPT模板 清新水彩简…...

【华为OD题库-002】最佳植树距离-Java

题目 小明在直线的公路上种树&#xff0c;现在给定可以种树的坑位的数星和位置&#xff0c;以及需要种多少棵树苗&#xff0c;问树苗之间的最小间距是多少时&#xff0c;可以保证种的最均匀&#xff08;两棵树苗之间的最小间距最大) 输入描述 输入三行: 第一行一个整数:坑位的数…...

【python与数据结构】(leetcode算法预备知识)

笔记为自我总结整理的学习笔记&#xff0c;若有错误欢迎指出哟~ python与数据结构 Python 中常见的数据类型数据结构1.数组&#xff08;Array&#xff09;2.链表&#xff08;Linked List&#xff09;3.哈希表&#xff08;Hash Table&#xff09;4.队列&#xff08;Queue&#x…...

前端+Python实现Live2D虚拟直播姬

写在前面 很早就在b站上看到有虚拟主播的方案,之前看到的方案主要分为3种: ①用的unity+live2d②有的用的steam的Vtube Studio这款软件③也有基于galgame的。基于纯前端和python的我好像没找到,在掘金看到一篇文章:juejin.cn/post/720474… ,使用的pixi-live2d-display这…...

华纳云 宝塔怎么配置香港服务器多ip?

宝塔面板是一款开源的服务器管理面板&#xff0c;提供了简单易用的图形化界面&#xff0c;使用户能够轻松管理和配置服务器。通过切换到香港服务器多IP&#xff0c;用户可以拥有更多的IP资源&#xff0c;提供更灵活的网络服务。 配置香港服务器多IP 1.登录宝塔面板 打开浏览器&…...

云计算是什么

一文读懂云计算&#xff1a;发展历程、概念技术与现状分析 - 知乎 “现阶段所说的云计算&#xff0c;已经不单单是一种分布式计算&#xff0c;而是分布式计算、效用计算、负载均衡、并行计算、网络存储、热备份冗杂和虚拟化等计算机技术混合演进并跃升的结果。” 云计算的关键…...

【POI-EXCEL-下拉框】POI导出excel下拉框数据太多导致下拉框不显示BUG修复

RT 最近在线上遇到一个很难受的BUG&#xff0c;我一度以为是我代码逻辑出了问题&#xff0c;用了Arthas定位分析之后&#xff0c;开始坚定了信心&#xff1a;大概率是POI的API有问题&#xff0c;比如写入数据过多。 PS&#xff1a;上图为正常的下拉框。但是&#xff0c;当下拉…...

【ES专题】ElasticSearch 高级查询语法Query DSL实战

目录 前言阅读对象阅读导航前置知识数据准备笔记正文一、ES高级查询Query DSL1.1 基本介绍1.2 简单查询之——match-all&#xff08;匹配所有&#xff09;1.2.1 返回源数据_source1.2.2 返回指定条数size1.2.3 分页查询from&size1.2.4 指定字段排序sort 1.3 简单查询之——…...

陕西某小型水库雨水情测报及大坝安全监测项目案例

项目背景 根据《陕西省小型病险水库除险加固项目管理办法》、《陕西省小型水库雨水情测报和大坝安全监测设施建设与运行管理办法》的要求&#xff0c;为保障水库安全运行&#xff0c;对全省小型病险水库除险加固&#xff0c;建设完善雨水情测报、监测预警、防汛道路、通讯设备、…...

pte rs练习方法 请介绍一下crank请介绍一下sanctuary请介绍一下solitary请介绍一下coarse请介绍一下deception

目录 pte rs练习方法 请介绍一下crank 请介绍一下sanctuary 请介绍一下solitary 请介绍一下coarse 请介绍一下deception pte rs练习方法 请介绍一下crank “Crank”一词可以个指不同的事物&#xff0c;具体含义视上下文而定。在不同的领域&#xff0c;这个词有不同的解…...

NLP之LSTM与BiLSTM

文章目录 代码展示代码解读双向LSTM介绍&#xff08;BiLSTM&#xff09; 代码展示 import pandas as pd import tensorflow as tf tf.random.set_seed(1) df pd.read_csv("../data/Clothing Reviews.csv") print(df.info())df[Review Text] df[Review Text].astyp…...

【实现多个接口的使用】

文章目录 前言实现多个接口接口间的继承接口使用实例给对象数组排序创建一个比较器 总结 前言 实现多个接口 Java中不支持多继承&#xff0c;但是一个类可以实现多个接口 下面是自己反复理了很久才敲出来的&#xff0c;涉及到之前学的很多知识点 如果哪看不懂&#xff0c;真…...

Mac收集的几个终端命令

文章目录 转UTF-8编码格式打tag 包 命令&#xff1a;压缩加密文件显示隐藏文件取消Mac电脑安全模式 转UTF-8编码格式 cd到目录下 iconv -f gbk -t utf-8 gbk.txt > utf8.txt打tag 包 命令&#xff1a; cd到目录下 tar -cvf demo.tar.gz demo a demo压缩加密文件 cd 到文…...

206. 反转链表、Leetcode的Python实现

博客主页&#xff1a;&#x1f3c6;看看是李XX还是李歘歘 &#x1f3c6; &#x1f33a;每天分享一些包括但不限于计算机基础、算法等相关的知识点&#x1f33a; &#x1f497;点关注不迷路&#xff0c;总有一些&#x1f4d6;知识点&#x1f4d6;是你想要的&#x1f497; ⛽️今…...

VS2022 打包WPF安装程序最新教程(图文详解)

文章目录 前言一、安装打包Installer插件1、单独安装2、VS中在线安装二、使用步骤1、创建安装项目2、安装项目主界面3、添加项目输出4、添加快捷方式图标5、添加卸载项目a、新建项目b、添加项目输出c、创建快捷方式6、给快捷方式添加图标a、在Resource文件夹中添加图标文件b、选…...

Taotoken的计费透明与账单追溯功能让我的每一分钱都花得明白

&#x1f680; 告别海外账号与网络限制&#xff01;稳定直连全球优质大模型&#xff0c;限时半价接入中。 &#x1f449; 点击领取海量免费额度 Taotoken的计费透明与账单追溯功能让我的每一分钱都花得明白 作为独立开发者或小型技术团队的负责人&#xff0c;管理项目成本是日…...

垂直领域搜索效果提升300%的关键路径,如何用DeepSeek精准捕获代码、论文、API三类技术语义?

更多请点击&#xff1a; https://kaifayun.com 第一章&#xff1a;DeepSeek垂直技术搜索的范式革命 传统通用搜索引擎在处理深度技术查询时&#xff0c;常面临语义漂移、上下文断裂与领域知识缺失三大瓶颈。DeepSeek垂直技术搜索通过融合代码理解、文档结构建模与多粒度技术实…...

3个颠覆性技巧:重新定义现代界面字体的选择标准

3个颠覆性技巧&#xff1a;重新定义现代界面字体的选择标准 【免费下载链接】source-sans Sans serif font family for user interface environments 项目地址: https://gitcode.com/gh_mirrors/so/source-sans 你是否曾为网页上的文字不够清晰而烦恼&#xff1f;或是发…...

如何快速告别抢票焦虑:大麦抢票自动化工具的完整指南

如何快速告别抢票焦虑&#xff1a;大麦抢票自动化工具的完整指南 【免费下载链接】ticket-purchase 大麦自动抢票&#xff0c;支持人员、城市、日期场次、价格选择 项目地址: https://gitcode.com/GitHub_Trending/ti/ticket-purchase 你是否曾经为了抢到心仪演唱会门票…...

终极指南:如何用Word Checker轻松实现中英文拼写自动纠正

终极指南&#xff1a;如何用Word Checker轻松实现中英文拼写自动纠正 【免费下载链接】word-checker &#x1f1e8;&#x1f1f3;&#x1f1ec;&#x1f1e7;Chinese and English word spelling corrector.(中文易错别字检测&#xff0c;中文拼写检测纠正。英文单词拼写校验工具…...

限流算法详解 - 滑动窗口算法深入理解

滑动窗口算法详解 专门针对滑动窗口算法&#xff0c;从原理到精确限流的实现细节做一个深入剖析。 一、核心思想 固定窗口在时间边界处会出现“计数突跳”&#xff0c;原因是窗口的边界是硬重置的&#xff08;0→1秒末清空&#xff0c;1→2秒初重新计数&#xff09;。 滑动窗口…...

5分钟搞定:Book118文档下载器的终极解决方案

5分钟搞定&#xff1a;Book118文档下载器的终极解决方案 【免费下载链接】book118-downloader 基于java的book118文档下载器 项目地址: https://gitcode.com/gh_mirrors/bo/book118-downloader 你是否曾在Book118网站找到一份急需的学习资料&#xff0c;却发现只能在线预…...

Keil C251启动代码中?C?INITEDATA机制详解

1. C251启动代码中的?C?INITEDATA机制解析在嵌入式开发领域&#xff0c;Keil C251编译器的启动过程隐藏着许多工程师容易忽略的关键细节。其中位于?C_C51STARTUP?2段的?C?INITEDATA例程&#xff0c;就是这样一个看似简单却至关重要的初始化环节。这个机制负责处理全局nea…...

Sunshine游戏串流服务器:打造个人游戏云的终极免费方案

Sunshine游戏串流服务器&#xff1a;打造个人游戏云的终极免费方案 【免费下载链接】Sunshine Self-hosted game stream host for Moonlight. 项目地址: https://gitcode.com/GitHub_Trending/su/Sunshine 想要在任何设备上畅玩PC游戏吗&#xff1f;Sunshine作为一款开源…...

PEMS交通数据分析实战:如何用Python从海量5分钟速度数据中挖掘拥堵规律?

PEMS交通数据分析实战&#xff1a;如何用Python从海量5分钟速度数据中挖掘拥堵规律&#xff1f; 在智能交通系统快速发展的今天&#xff0c;PEMS&#xff08;Performance Measurement System&#xff09;提供的5分钟级交通流数据已成为城市拥堵分析和路网优化的黄金标准。这些看…...