VI高级命令集锦

vi高级命令集锦 立即下载
<script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script> VI高级命令集锦 十多年前就背过vi的批量替换的命令,可就是记不牢。这不,今天又要上网查了。不过,今天查到的命令以前没有见过:在vi界面下使用命令 :%s#/usr/bin#/bin#g 可以把文件中所有路径/usr/bin换成/bin。其中“#”是转义字符,表明其后的“/”字符是具有实际意义的字符,不是分隔符。嗯~又学了一招。 以下是一篇比较全的vi命令集:(感谢jaxy,感谢chinaitlab) ------------------------------------------------------------------------   鉴于大家在使用VI 的时候有一定的陌生,在这里借花献佛,从兄弟版[SHELL]中整理出以下关于VI编程的高级技巧,希望对大家学习UNIX有所帮助,并希望大家能结合使用HPUX的心得体会对这些经验进行进一步的扩展。   1.交换两个字符位置      xp   2.上下两行调换   ddp   3.把文件内容反转   :g/^/m0/ (未通过)      4.上下两行合并   J   5.删除所有行   dG   6.从当前位置删除到行尾   d$   7.从当前位置复制到行尾   y$ 如果要粘贴到其他地方 p 就可以了         由于vi 是建立在 EX 上的 所以 当键入 : 时就来到了 EX 命令状态   8.   :ab string strings   例如 ":ab usa United States of America" ,   当你在文见里插入 usa 时   United States of America 就蹦出来了   9.   :map keys new_seq   定义你当前 键盘命令   10.   :set [all]   vi or ex 的编辑状态   如 显示每行 :set nu   11.   在命令状态下,nyy表示拷贝从光标行起的下n行内容,p表示paste,可刚复制的内容粘贴在光标处的   下面。      12.   单个字符替换用r,覆盖多个字符用R,用多个字符替换一个字符用s,整行替换用S      13.      :%s/old_word/new_word/g   这个指令是于在整个文件中替换特定字符串      14.光标控制      k:上移 nk 上移n行   j:下移 nj 下移n行         将光标移到第n行,按下 mk   将光标移到第m行,按下 "ay'k   即将第n到m的行存到a寄存器,以此类推,b,c........寄存器等      这样就可以将你常用的需要复用的内容粘贴到不同的寄存器中以备用         想粘贴到某处,直接将光标移到某地,按下 ‘ap 即可,以此类推,b,c........寄存器等      在当前屏幕中   H 跳到第一行   M 跳到中间一行   L 跳到最后一行      15.   表8-2 删除命令   删除命令操作   d l 删除当前字符(与x命令功能相同)   d 0 删除到某一行的开始位置   d ^ 删除到某一行的第一个字符位置(不包括空格或TA B字符)   d w 删除到某个单词的结尾位置   d 3 w 删除到第三个单词的结尾位置   d b 删除到某个单词的开始位置   d W 删除到某个以空格作为分隔符的单词的结尾位置   d B 删除到某个以空格作为分隔符的单词的开始位置   d 7 B 删除到前面7个以空格作为分隔符的单词的开始位置   d) 删除到某个语句的结尾位置   d 4) 删除到第四个语句的结尾位置   d( 删除到某个语句的开始位置   d } 删除到某个段落的结尾位置   d { 删除到某个段落的开始位置   d 7 { 删除到当前段落起始位置之前的第7个段落位置   d d 删除当前行   d /t e x t 删除从文本中出现“ t e x t”中所指定字样的位置,一直向前直到下一个该字样所出现的   位置(但不包括该字样)之间的内容   d fc 删除从文本中出现字符“c”的位置,一直向前直到下一个该字符所出现的位置(包括   该字符)之间的内容   d tc 删除当前行直到下一个字符“ c”所出现位置之间的内容   D 删除到某一行的结尾   d $ 删除到某一行的结尾   5 d d 删除从当前行所开始的5行内容   d L 删除直到屏幕上最后一行的内容   d H 删除直到屏幕上第一行的内容   d G 删除直到工作缓存区结尾的内容   d 1 G 删除直到工作缓存区开始的内容      修改命令操作   c l 更改当前字符   c w 修改到某个单词的结尾位置   c 3 w 修改到第三个单词的结尾位置   c b 修改到某个单词的开始位置   c W 修改到某个以空格作为分隔符的单词的结尾位置   c B 修改到某个以空格作为分隔符的单词的开始位置   c 7 B 修改到前面7个以空格作为分隔符的单词的开始位置   c 0 修改到某行的结尾位置   c) 修改到某个语句的结尾位置   c 4) 修改到第四个语句的结尾位置   c( 修改到某个语句的开始位置   c } 修改到某个段落的结尾位置   c { 修改到某个段落的开始位置   c 7 { 修改到当前段落起始位置之前的第7个段落位置   c tc 修改当前行直到下一个字符c所出现位置之间的内容   C 修改到某一行的结尾   c c 修改当前行   5 c c 修改从当前行所开始的5行内容         .重复上一次修改!         表8-4 替换命令   替换命令操作   s 将当前字符替换为一个或多个字符   S 将当前行替换为一个或多个字符   5 s 将从当前字符开始的5个字符替换为一个或多个字符         vi替换使用规则:   :g/s1/s/s2/s3/g   第一个g表示对每一个包括s1的行都进行替换,第二个g表示对每一行包括s1的行所有的s2都用s3替换   s表示替换,s2是要被替换的字符串,他可以和s1相同(如果相同的话用//代替),s3是替换字符串         16.      fx   往右移动到 x 字符上   Fx   往左移动到 x 字符上   tx   往右移动到 x 字符前   Tx   往左移动到 x 字符后   (注意:以上四个命令中,其中x是键入的字符)   ;   分号,配合 f 和 t 使用,重复一次   ,   逗号,配合 f 和 t 使用,反方向重复一次         17. vi 环境选项 Solaris ksh      noautoindent nomodelines noshowmode   autoprint nonumber noslowopen   noautowrite nonovice tabstop=8   nobeautify nooptimize taglength=0   directory=/var/tmp paragraphs=IPLPPPQPP LIpplpipnpbtags=tags /usr/lib/tags   noedcompatible prompt tagstack   noerrorbells noreadonly term=vt100   noexrc redraw noterse   flash remap timeout   hardtabs=8 report=5 ttytype=vt100   noignorecase scroll=11 warn   nolisp sections=NHSHH HUuhsh c window=23   nolist shell=/bin/ksh wrapscan   magic shiftwidth=8 wrapmargin=0   mesg noshowmatch nowriteany         For C-Shell:   setenv EXINIT "set nu"   For Bourne or Korn Shell:   EXINIT="set nu"; export EXINIT   For Korn Shell Only (alternate method):   typeset -x EXINIT="set nu"   在 .profile 里设置 vi 的环境选项 , 以上均测试过         18.标记文本        mchar   用字母char标记当前光标的位置     `char   移至char所标记处     'char   移至char标记所在行的开头处     "     移至当前行上一次所在位置(在光标移动之后)――一个双引号     ''    移至当前行上第一次所在位置的行的开头处(在光标移动之后)――两个单引号         19.   同时vi多个文件时,CTRL-SHIFT-6回到上一个文件,在本次vi的文件和上次vi的文件之间切换。   但是我发现一个BUG:在用CTRL-SHIFT-6切换到上一个文件后,用:args查看多文件vi状态时,   屏幕底部仍然显示目前vi的是刚才的文件。   (在HP-UX,Solaris,AIX上通过)      也可以使用:   :e#   进行切换      20.   sco 下VI 要在文本前同样的字符加用   %s/^/要加的内容/g 要在文本后同样的字符加   %s/$/要加的内容/g      21.   如何去掉文本中的 ^M 硬回车?不必用binary传回去再ascii传回来的方式,用shell或者unix语句实现。      cat filename |tr -d '/015' >newfile   不同的unix系统还存在一些其他不同的命令,如:doscp   sed 也可以实现这个功能.      dos2unix filename filename2   反之   unix2dos filename filename2      在vi 中用:$s/^M//g   ^是crtl-V crtl-M         22.如何在“unix命令行”下将一个文件的某字符串用另一个串换掉      sed 's/string1/string2/gp' file1 > file2      23.将/etc/hosts下所有的地址都ping 2次       1 #/usr/bin/sh    2 #grad /etc/hosts and ping each address    3 cat /etc/hosts|grep -v '^#' | while read LINE    4 do    5 ADDR=`awk '{print $1}'`    6 for MACHINE in $ADDR    7 do    8 ping $MACHINE -n 2    9 done    10 done
Apache-Plc4x-Modbus-Tcp学习记录(一) 阅读详情

相关推荐

RADIOML 2018.01A调制信号数据集介绍及处理

RadioML 2018.01A 由 DeepSig 发布,是专门针对自动调制识别(Automatic Modulation Recognition, AMR)和无线信号分类研究设计的基准数据集。它在原有 RadioML 2016.10a 的基础上,扩展并精细化了信道仿真模型,使得信号更接近真实无线环境下的表现。该数据集广泛用于机器学习模型的训练与评估,为各类深度学习算法提供了统一、可重复的实验条件。

weixin_56527269的博客 1901

vi常用命令

vi常用命令

D_huili的博客 2万+

Lumerical官方案例、FDTD时域有限差分法仿真学习(十三)——多模干涉耦合器(MMI)

计算通过 1×2 端口多模干涉 (MMI) 耦合器的宽带传输和光损耗。 使用设备 S 参数在 INTERCONNECT 中创建 MMI 的紧凑模型。 它还展示了如何使用 CML 编译器提取这些参数以生成紧凑模型。 一、概述 了解模拟工作流程和关键结果 低损耗光合路器和分路器是基于 Mach-Zehnder 的光调制器的基本组件,并且是集成电路的关键组成部分。通过在输入/输出波导处使用线性锥形确保输入/输出波导的模式与干涉区域之间的

weixin_45719141的博客 1万+

vi的使用与基本命令

vi的使用

Button的博客 2万+

论文阅读:SuperGaussians: Enhancing Gaussian Splatting Using Primitives with Spatially Varying Colors

Gaussian Splattings 在基于高斯显式表示的多视图重建中展示出了令人印象深刻的结果。然而,当前的高斯基元只有单视图依赖的颜色和不透明度来表示场景的外观和几何形状,导致了一种非紧凑的表示。在本文中,我们引入了一种名为“超高斯(SuperGaussians)”的新方法,它在单个高斯基元中利用空间变化的颜色和不透明度来提高其表示能力。我们实现了双线性插值、移动核,甚至是小型神经网络作为空间变化函数。

m0_48319749的博客 1510

永磁同步电机定子槽型设计实战:从梨形槽到矩形槽的NVH优化之路

本文深入探讨了永磁同步电机定子槽型设计在NVH优化中的关键作用,对比了梨形槽与矩形槽的性能差异。通过Ansys Maxwell仿真和实际案例,揭示了矩形槽在提升槽满率、降低电磁噪声方面的优势,并总结了五大设计黄金法则,为电机设计工程师提供了实用指导。

weixin_28740299的博客 494

10个你必须掌握的超酷VI命令技巧

摘要:大部分Linux开发者对vi命令相当熟悉,可是遗憾的是,大部分开发者都只能掌握一些最常用的Linux vi命令,下面介绍的10个vi命令虽然很多不为人知,但是在实际应用中又能让你大大提高效率。 在使用vi 编辑器时—无论是初次使用的用户,还是有经验的用户—大多数人往往只掌握核心命令集,这些命令可以执行最常用的功能:导航或保存文件;插入、更新、删除或搜索数据;退出但不保存修改。 ...

a994182的博客 221

3D Slicer中安装MedSAM插件

大家应该都读过这篇论文:《Segment Anything in Medical Images》这个插件便是该论文团队推出的在3D Slicer上使用的插件,可以分割医学图像的任何感兴趣区域。

m0_73719342的博客 2333

VI高级命令集锦 [转贴]

1.交换两个字符位置 xp 2.上下两行调换 ddp 3.把文件内容反转 :g/^/m0/ (未通过) 4.上下两行合并 J 5.删除所有行 dG 6.从当前位置删除到行尾 d$ 7.从当前位置复制到行尾 y$ 如果要粘贴到其他地方 p 就可以了 由于vi 是建立在 EX 上的 所以 当键入 : 时就来到了 EX 命令状态 8. :ab string

lizhi200404520的专栏 545

State of GPT (ChatGPT 原理及现状介绍)

要用 RLHF 的一个简单的原因就是 RLHF 模型效果更好,下面的图来源于 InstructGPT 论文,PPO (RLHF 算法) 后的模型生成的答案更被人类喜欢。karpathy 认为 RLHF 有用的原因是判别比生成更容易,让标注员去写一些 SFT 的 QA 数据对是比较难的,如果有一个 SFT 模型生成一些数据让标注员判断哪个更好就简单很多。,GPT4 最强,前三个都是 RLHF 模型,其他模型都是 SFT 模型。伯克利做的模型评测榜单。

kebijuelun的博客 3581

3 路由引入

在大型企业网络中,网络规模十分庞大,选用单一的路由协议无法满足网络的需求,因此多种路由协议共存的情况十分常见。或者出于业务逻辑或行政管理的考虑,会在不同的网络结构中设计和部署不同的路由协议,使路由的层次结构更加清晰可控。路由引入是具有方向性的,将路由信息从路由协议A引入到路由协议B(A-to-B),则路由协议B可获知A中的路由信息,但是此时,A还并不知晓B路由协议中的路由信息,除非配置B-to-A的路由引入。表3-1:各种路由协议的优先级。通过路由引入,可以实现路由信息在不同路由协议间传递。

lwljh134的博客 622

VI高级命令集锦(转)

VI高级命令集锦(转)[@more@]1.交换两个字符位置xp2.上下两行调换ddp3.把文件内容反转:g/^/m0/ (未通过)4.上下两行合并 J5.删除所有行 dG6.从当前位置删除到行尾d$7.从当前位置复制到行尾y$ ...

63

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

[精华] VI高级命令集锦

鉴于大家在使用VI 的时候有一定的陌生,在这里借花献佛,从兄弟版[SHELL]中整理出以下关于VI编程的高级技巧,希望对大家学习UNIX有所帮助,并希望大家能结合使用HPUX的心得体会对这些经验进行进一步的扩展。 1.交换两个字符位置 xp 2.上下两行调换 dd

JoeBlackZQQ的专栏 787

深度学习工具包 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")

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

VI高级命令集锦及VIM应用实例

 

技术资料库 3878

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

上一篇: Java学习从入门到精通
下一篇: UNIX,将往何处去?
java169
博客等级 码龄19年 27粉丝 2568原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值