vi / vim - - 终端编辑器

Vi/Vim 从入门到高效:终端编辑器的核心技能指南 对于开发者、运维工程师和程序员来说,Vi/Vim 是必须掌握的生存技能。这个诞生于1976年的文本编辑器,因其强大的编辑能力和无处不在的兼容性,至今仍是UNIX/Linux系统中最受欢迎的编辑器。本章将带您系统掌握Vi/Vim的核心操作技巧。 阅读详情

1.打开文件

vim  文件名  (有打开,无创建)

2.打开文件并定位行

vim  文件名  +行数 (有行数,光标到指定行,没有光标到最后一行)

3 三种基本工作模式

从vi/vim到deepin-editor:在统信UOS终端里,我为什么开始用图形化编辑器了? 本文探讨了从传统命令行编辑器vi/vim转向图形化编辑器deepin-editor的实践与思考。在统信UOS环境下,deepin-editor凭借语法高亮、编码转换、行尾类型切换等开箱即用的功能,显著提升了文本编辑效率。文章通过具体场景对比,展示了图形化编辑器如何解决编码问题、多人协作等痛点,同时保持与终端环境的深度整合。 阅读详情

相关推荐

【Linux学习笔记day01】vi---终端中的编辑器+vi和vim的区别+可视化+分屏+vimrc文件

文章目录vi —— 终端中的编辑器目标01. `vi` 简介1.1 学习 `vi` 的目的1.2 vi 和 vimvi`vim`查询软连接命令(知道)02. 打开和新建文件2.1 打开文件并且定位行2.2 异常处理03. 三种工作模式末行模式命令04. 常用命令命令线路图学习提示4.1 移动(基本)1) 上、下、左、右2) 行内移动3) 行数移动4) 屏幕移动4.2 移动(程序)1) 段落移动2)...

汪雯琦的博客 1029

Linux终端中的VI/VIM编辑器详细说明

vi 或 vim 是一个强大的文本编辑器,它最初是由 vi 的作者布莱姆·米勒开发的,后来由吉多·范罗苏姆及其团队进行了扩展和维护,成为了 Vim。Vim 编辑器在类 Unix 系统中非常流行,因为它具有高度的可定制性和高效的文本处理能力。

love6a6的博客 1942

vi—Linux终端中的编辑器

vi —— 终端中的编辑器 01. vi 简介 1.1 学习 vi 的目的 在工作中,要对 服务器 上的文件进行 简单 的修改,可以使用 ssh 远程登录到服务器上,并且使用 vi 进行快速的编辑即可 常见需要修改的文件包括: 源程序 配置文件,例如 ssh 的配置文件 ~/.ssh/config 在没有图形界面的环境下,要编辑文件,vi 是最佳选择! 每一个要使...

river。的博客 2847

linux终端 amp,AMP - 受Vi/Vim启发的Linux终端文本编辑器

Amp是一个轻量级,功能齐全的受Vi/Vim启发的文本编辑器,适用于Linux终端,用Rust编写。它以简化的方式提供了Vi / Vim的核心交互模型,并汇总了现代文本编辑器所需的基本功能。它是一个零配置,无插件和基于终端的用户界面,与tmux和Alacritty等终端完美结合。 Amp还支持受Vim启发的模态键盘驱动界面,可快速导航和编辑文本。AMP特点:文件查找器 - 使用简单,精确的匹配算法...

weixin_36476695的博客 600

【企业SRE/DevOps向的精通Linux课程培训课程】第 08 天:编辑器和终端快捷键 (nano, vi/vim)

学习了两个关键编辑器:nano(简单易用,适合初学者,使用 Ctrl 快捷键)和 vim(强大、模式化,是远程服务器管理的必备工具,通过 i 进入插入模式,:wq 保存退出)。文件是 Linux 的核心,掌握这些编辑器至关重要。此外,还介绍了重要的终端快捷键,如 Ctrl+C(中断)、Ctrl+R(搜索历史)和 Tab(自动补全),这些能显著提高您的工作速度和效率。

欧阳天涵的专栏 302

新手避坑指南:用镭神C32和KVH 1750 IMU做标定,为什么直接上lidar_align会失败?

本文详细解析了使用镭神C32激光雷达和KVH 1750 IMU进行标定时常见的失败原因及解决方案。从IMU的微分传感器特性到Lidar-IMU标定的数学本质,再到可行的标定方案和实操注意事项,帮助新手避开认知陷阱,掌握正确的标定方法。

weixin_30162121的博客 327

AMP - 一款受Vi/Vim启发的Linux终端文本编辑器

AMP 可以根据您的需求进行定制。您可以创建配置文件来定义首选项和键绑定。配置文件位于您的主目录中,称为“.amprc”。以下是一些示例,说明如何自定义 AMP -要更改背景颜色,请在 .amprc 文件中添加以下行 -要将键映射到命令,请在 .amprc 文件中添加以下行 -这会将 F2 键映射到“:wq”命令。要更改字体大小,请在 .amprc 文件中添加以下行 -

新华编程特战队 1375

AIDD-人工智能药物设计-构建基于机器学习方法的在线预测平台高准确预测药物诱导骨毒性

在此基础上,提取多种药物分子特征,包括分子指纹(如MACCS、Morgan、RDKit、TopologicalTorsion、AtomPairs与Descriptors)及分子图谱,通过Transformer编码器与神经网络进行机器学习模型训练。最后,将训练好的模型部署为在线Web服务器(BoneToxPD),供用户快速预测药物的骨毒性。本研究不仅在骨毒性预测的准确性方面取得了突破,还在模型解释性方面提供了新的视角,通过注意力机制精准识别出影响骨毒性的关键化学基团,推动药物研发领域更安全、更高效的发展。

itwangyang520的博客 1079

vi/vim 终端中的编辑器简单使用

vi/vim 终端中的编辑器 在终端中输入 vi 在后面跟上文件名 即可 $ vi 文件名 +行数 提示:如果只带上 + 而不指定行号,会直接定位到文件末尾 提示: 在Touch Bar 的mac电脑上,按 ESC不方便。可以使用 CTRL+【 替换 末行模式的命令 命令 英文 功能 w write 保存 q quit 退出,如果没有保存,不允许退出 q...

qq_44891434的博客 1018

别再怕非观测区了!手把手教你用移相法搞定PMSM单电阻FOC的电流重构难题

本文详细解析了永磁同步电机(PMSM)单电阻FOC系统中非观测区的电流重构难题,重点介绍了移相法的工程实践。通过STM32平台的具体实现和调试指南,帮助工程师有效解决相电流检测中的采样窗口不足问题,提升系统稳定性和性能。

weixin_27252001的博客 433

SAP FICO实操:如何修改已发生业务数据的成本中心公司代码(附RKACOR06程序运行指南)

本文详细解析了SAP FICO系统中使用RKACOR06程序修改已发生业务数据的成本中心和公司代码的实操方法。通过实战案例分享,提供从前期准备到后期验证的全流程指南,帮助企业应对组织架构重组或财务核算体系调整时的数据迁移挑战,特别适用于跨公司代码的成本中心划转场景。

weixin_27303545的博客 189

vi/vim—终端中的编辑器

vi —— 终端中的编辑器 目标 vi 简介 打开和新建文件 三种工作模式 常用命令 分屏命令 常用命令速查图 01. vi 简介 1.1 学习 vi 的目的 在工作中,要对 服务器 上的文件进行 简单 的修改,可以使用 ssh 远程登录到服务器上,并且使用 vi 进行快速的编辑即可 常见需要修改的文件包括: 源程序 配置文件,例如 ssh 的配置文件 ~/.ssh/config 在没有图形界面的环境下,要编辑文件,vi 是最佳选择! 每一个要使用 Linux 的程序员,都应该或多或少的学

frighting_ing的博客 409

【AI落地】AI生成测试用例,claude or gpt?(提效至少 50%)

gpt生成测试用例?当然好使啦,用好了提效50%+,用不好就让他变好!

青禾tester 1969

vi/vim——终端中的编辑器

vim基础知识 参考: Vim 入门:基础 Vim 基础知识学习

Robin_Pi的博客 553

把 SAP BTP Destination 写进 MTA:一段 com.sap.application.content 配置背后的部署编排学

MTA内容模块解析:SAP BTP中的声明式部署机制 本文详细解析了mta.yaml中com.sap.application.content模块在SAP BTP云环境中的作用。该模块通过声明式配置实现内容投递,无需编译或部署代码。核心功能包括: Destination创建:通过content-target:true标识将配置投递到Destination服务 HTML5应用部署:将静态资源投递到HTML5 Application Repository 安全集成:配置XSUAA服务实现OAuth2用户令牌交换

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 165

55、宇宙微波背景辐射望远镜及其光学系统解析

本文详细解析了宇宙微波背景辐射(CMB)望远镜及其光学系统的设计与优化。内容涵盖折射与反射光学系统的特性、旁瓣控制技术、气球与地面观测系统的对比、探测器阵列的发展、光学系统设计流程以及不同观测场景下的光学系统选择。同时,文章展望了CMB望远镜光学系统的未来发展趋势,包括技术创新、多频段观测、国际合作与大型项目等。通过系统性的分析与对比,为CMB研究提供了全面的技术支持与理论基础。

f9g0h的博客 143

linux - ubuntu 更换终端背景vi/vim编译器背景

linux - ubuntu 更换终端背景vi/vim编译器背景的方法

qq_31602343的博客 5336

ANSYS WORKBENCH——参数化建模以及参数优化(结果导出为Excel)

目录 1、打开软件workbench 2、找到static structure,双击打开 3、选择材料 4、参数化建模 ​ 注:印记面的创建 5、模型属性设置 注:设置优化目标 6、回主界面,选择direct optimization模块 1、打开软件workbench 2、找到static structure,双击打开 3、选择材料 4、参数化建模 至此参数化建模就已经完成啦 注:印记面的创建 印记面一般是一个虚拟的区域,参与实际的网格划分,但是只是由于载.

python_AI_fans的博客 1万+

Linux终端中的编辑器vi的使用

vi —— 终端中的编辑器 目标 vi 简介 打开和新建文件 三种工作模式 常用命令 分屏命令 常用命令速查图 01. vi 简介 1.1 学习 vi 的目的 在工作中,要对 服务器 上的文件进行 简单 的修改,可以使用 ssh 远程登录到服务器上,并且使用 vi 进行快速的编辑即可 常见需要修改的文件包括: 源程序 配置文件,例如 ssh 的配置文件 ~/.ssh/config ...

kusebingtang的博客 2082

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

vi/vim如何设置默认显示行号

第二步 ​​输入vi ~/.vimrc(注意vi后面有空格,如果是vim把vi换成vim即可vim ~/.vimrc)然后回车进入。第三步 输入set nu。

qq_53656787的博客 1055

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

从零掌握vi/vim:Linux运维必备的文本编辑生存技能

在Linux服务器管理与运维中,命令行环境下的高效文本编辑是核心基础能力。vi/vim作为几乎所有Unix-like系统预装的编辑器,其设计哲学基于独特的模式切换机制,通过分离命令与输入状态来提升操作效率。这种设计使得用户可以在纯终端环境下,不依赖图形界面和鼠标,完成快速导航、批量编辑与脚本修改。对于系统管理员和开发者而言,掌握vi/vim意味着获得了在远程服务器、容器或最小化系统环境中编辑配置、查看日志、编写脚本的通用能力,是保障运维可靠性与效率的关键技术。本文围绕vi/vim的模式设计、高效移动命令、核

weixin_28839549的博客 248

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

Bash和Zsh开启vi-mode模式, 并设置默认编辑器vim

Bash和Zsh开启vi-mode模式, 并设置默认编辑器vim 开启bash的vi-mode模式 Bash有两种操作模式,分别是emacs-mode和vi-mode,在默认情况下使用的是emacs-mode,通过修改~/.bashrc可以开启vi-mode,方法是在~/.bashrc中写入 set -o vi 然后,在终端执行source ~/.bash...

我是guyue,guyue就是我O(∩_∩)O 1万+

vi编辑器左下角不显示指令模式??和基本终端操作

vi编辑器左下角不显示指令模式?? 修改/etc/vim/vimrc.tiny 文件,将set compatible 设置成set nocompatible . 这是因为有时候系统会默认vim兼容vi,所以使用vi的命令”

howardhaowang的博客 1449

Mac终端 vi/vim 的简单使用

Mac终端 vi/vim 的简单使用 vi/vim 的使用 基本上 vi/vim 共分为三种模式,分别是命令模式(Command mode),插入模式(Insert mode)和底线命令模式(Last line mode) 命令模式: 用户刚刚启动 vi/vim,便进入了命令模式。 i 切换到插入模式,以输入字符。 x 删除当前光标所在处的字符。 ...

hjiaqing的博客 448

vi/vim编辑器

为什么要用vim/vi编辑器? vi/vim编辑器可通过终端进行操作,相比界面操作(gedit编辑器)应用范围广很多; vi/vim 占用的内存小,在一些内存表较小的linux系统中只支持 vi/vim 编辑器; vi/vim 编辑效率高 vi/vim的三种模式 一般模式(默认模式) 插入模式(编辑模式) 命令行模式 ...

Cynan_Gattackon 299
上一篇: blockly -- 自定义块
下一篇: Django使用ajax异步请求时,如何解决403问题
wolf131721
博客等级 码龄9年 38粉丝 31原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值