JJJ:vim操作实用小技巧

树莓派3-改装wifi外置天线 声明:本文只是技术性探讨,改装引起的产品损坏等后果,由用户自负! 改装主要有两种方法 方法一:直接替换原来的天线 1、移除原有的小陶瓷天线,就在Made in PRC(或UK)那边的那个 清理一下阻焊剂方便天线接地(图中PRC左侧) 2、焊接天线 天线的屏蔽层焊接到清理完阻焊剂的地方,中间的信号线焊接到PRC右侧焊盘。 3、最终的样子 阅读详情

ctrl+b 上一屏

ctrl+f 下一屏

vimdiff 比较两个文件差异
do 把对端窗口差异行复制到当前窗口行
dp 把当前窗口差异行复制到对端窗口差异行
]c 跳转到下一个差异处
[c 跳转到上一个差异处
ctrl +w +w 切换当前窗口
z+R 完全显示差异部分
z+M 尽量折叠,尽量显示差异部分

启动鼠标操作见骚操作第一个

ctags安装:链接

代码注释:
按 Ctrl+v 切换到可视化模式;
移动光标(j 或 k)选中需要注释的行的开头;
按大写 I,然后输入注释符,如 #;
最后按 Esc。
取消注释:
按 Ctrl+v 切换到可视化模式;
按 j 或 k或光标键 选择要删除的注释符;
按 d 或 x 删除注释符
如果使用//符号注释,则取消注释时需进行两遍操作。

.vimrc 配置:
set hlsearch  高亮搜索结果,所有结果都高亮显示,而不是只显示一个匹配。
set incsearch 在搜索时,输入的词句的逐字符高亮
set tabstop=4 设定tab宽度为4个字符
set expandtab 用space替代tab的输入,在Makefile中不能用空格代替Tab(就是不能设置这个选项)
set nu 显示行号
set autoindent 开启自动缩进

若vi文件出现 ^M,使用 dos2unix filename 解决

vim -b filename
输入 :%!xxd,转换成16进制模式看。
退出时要先复原,:%!xxd -r,然后 esc + q!

「PAT乙级真题解析」Basic Level 1034 有理数四则运算 (问题分析+完整步骤+伪代码描述+提交通过代码) 题设给定两个有理数, 要求输出这两个有理数的和、差、积、商。 如果只是这样, 则问题很简单, 但是题设要求输出的每个有理数必须是最简形式. **所以本题的一个重点是如何将有理数转为题设要求的有理数.** 阅读详情

相关推荐

NLP-Beginner 任务一:基于机器学习的文本分类(超详细!!)

NLP-Beginner 任务一:基于机器学习的文本分类传送门一. 介绍1.1 任务简介1.2 数据集1.3 流程介绍二. 特征提取2.1 词袋特征(Bag-of-word)2.2 N元特征 (N-gram)三. 最优化求解3.1 Softmax回归介绍3.2 损失函数3.3 梯度下降3.4 学习率四. 代码及实现4.1 实验设置4.2 结果展示4.3 代码新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、

0oTedo0 9928

一篇文章教你玩转vim神器写代码

首先是vim自带的常用命令: 通用: 显示行号: :set number 隐藏行号: :set nonumber 回退(相当于Ctrl+Z): u 撤销回退:ctrl+r 回到底部:GG 回到顶部:gg 上一页:Page Up(Win)ctrl+↑(Mac) 下一页:Page Down(Win)ctrl+↓(Mac) 行首:Home(Win)ctrl+←(Mac)...

程序猿的世界 5503

AutoCAD提示找不到acdb24.dll、AcGe24.dll、AcPal.dll、AcUt.dll怎么办?

在我们安装了AutoCAD 2023版本以后,打开CAD,可能会出现dll文件丢失的情况,如下所示:1、由于找不到acdb24.dll,无法继续执行代码。重新安装程序可能解决此问题。2、由于找不到AcGe24.dll,无法继续执行代码。重新安装程序可能解决此问题。3、由于找不到AcPal.dll,无法继续执行代码。重新安装程序可能解决此问题。4、由于找不到AcUt.dll,无法继续执行代码。重新安装程序可能解决此问题。遇到AutoCAD启动系统错误,由于找不到dll文件该怎么处理呢?

huoxu369的博客 1万+

java vim编辑器的基本使用_超全!VIM 编辑器操作指南

原文:https://www.cnblogs.com/wf-sk...Vim是一个类似于Vi的著名的功能强大、高度可定制的文本编辑器,在Vi的基础上改进和增加了很多特性。VIM是自由软件。Vim普遍被推崇为类Vi编辑器中最好的一个,事实上真正的劲敌来自Emacs的不同变体。1999 年Emacs被选为Linuxworld文本编辑分类的优胜者,Vim屈居第二。但在2000年2月Vim赢得了Slash...

weixin_39963096的博客 290

【算能】TPU-MLIR 工具链之model_deploy

model_deploy.py 是算能 TPU-MLIR 工具链中实现模型高效部署的核心组件,通过灵活的量化配置与硬件优化,可在 ​精度损失 ≤1% 的前提下实现 ​3-5 倍加速。开发者需重点关注校准数据质量、混合精度策略及硬件兼容性

浩瀚之水的专栏 287

YOLO格式数据集【数据增强】终极脚本 | 70+种顶级数据增强方法 | 可带标签增强

YOLO格式数据集【数据增强】终极脚本 | 70+种顶级数据增强方法 | 可带标签增强

Coding... 5498

Vim实用技巧_3.可视模式和命令模式

下面介绍vim的几种常用模式的技巧普通模式插入模式可视模式命令模式可视模式命令模式。

可乐松子的博客 1257

SKUA-GOCAD入门教程-第二节

软件启动及项目设置

江洋大葱的博客 1144

我记不住的那些vim操作

我记不住vim的那些操作

企鹅菜鸟的成长过程 7314

【HALCON工业视觉应用探索】08. C#+Halcon视觉引导机器人抓取:从入门到工业级实战(附完整代码+部署指南)

摘要:本文聚焦C#+Halcon在视觉引导机器人抓取领域的落地应用,从新手友好的“二十分钟基础引导系统”切入,逐步深入工业级场景(汽车变速箱壳体抓取)。内容涵盖核心概念(手眼标定原理、坐标转换、机器人通信协议)、完整技术流程(图像采集→目标定位→标定转换→机器人执行→结果反馈)、工业级代码实现(多目标识别、智能抓取策略、实时状态监控),以及现场部署关键技巧(硬件选型、通信配置、精度优化)。

专注于人工智能、软件开发、工控自动化、工厂数字化及智能化等领域,希望和大家共同进步! 1263

手把手教你从入门到精通C#串口通信

本文以我开发的串口助手SComTool为例,详细介绍《C#串口通信从入门到精通》专栏的目录内容,本专栏由一个高级工程师多年实战经验总结,绝对是c#串口通信的葵花宝典!带您从入门到精通C#串口通信!

qq_34059233的博客 3万+

JJJ:vim 安装 Ctaglist(Clist)插件

vim插件taglist的安装和使用 Taglist: Exuberant ctags (http://ctags.sf.net) not found in PATH. Plugin is not loaded.的解决办法

engineer0的博客 588

Qt实现窗口等比例缩放

在Qt中,实现窗口的等比例缩放是一个常见的需求。通过对窗口的尺寸进行调整,使得窗口的内容在缩放过程中保持相同的比例,可以提供更好的用户体验。通过以上的代码,我们实现了一个可以等比例缩放的Qt窗口。在调整窗口大小时,窗口中的标签和按钮将按比例缩放,保持内容的比例不变。首先,我们需要在Qt中创建一个窗口,并设置其内容。在该事件中,我们将根据窗口的新尺寸计算出合适的比例因子,并将其应用到窗口的内容上。现在,我们将添加功能,使得窗口可以等比例缩放。最后,我们将缩放因子应用到窗口中的标签和按钮上,调整它们的尺寸。

2301_79330511的博客 3958

Vim编辑器

CentOS安装Ubuntu安装。

AlbertDarren的博客 2108

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

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

Vim编辑器基本操作学习(一)

最近在服务端编辑文件总不可避免要使用vim编辑器,下面就对学习到的常用命令进行总结,以便自己以后查看。   基本编辑命令   删除字符:x 删除一行:dd 删除换行符:J,同时将两行合并成一行 撤销上一次的操作:u 重做,反转撤销:Ctrl+R   一些基本编辑命令可以使用命令计数,比如向下移动3行,可以直接使用3j,代替jjj;另比如dd操作等。   其他编辑命令  

clamaa的专栏 871

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

Vim多行操作:从注释到删除,这些技巧让你效率翻倍(附实战示例)

本文详细介绍了Vim多行操作的高效技巧,包括注释、删除和缩进调整等实用方法,帮助开发者在Linux环境下大幅提升文本编辑效率。通过可视化块模式、命令替换和宏录制等Vim多行操作命令,可以快速完成批量修改任务,节省大量时间。

ee345的博客 357

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

vim spf13

效果图来一个: http://vim.spf13.com/ 这个网站里面的vim配置非常全,推荐. 下面是对这个vim快捷键总结: <Leader> 是"," 打卡一个二进制文件: 输入':', 然后输入'%!xxd' 调整窗体大小:变大Ctrl+Shift+'=',变小Ctrl+w+'-' 复制粘贴:  系统拷贝: " + y   系统粘贴: ...

a623277405的博客 124

VIM编辑中替换的一些用法

1)如何在vim中全局替换字符? 查找替换:%s/old/new/g 全文替换指定字符串 old代表要被替换的字符串 new代表要替换成的字符串 最后的g代表不用提示确认,如果需要提示确认操作的话,把g改为c。 2)一些特殊的字符如何替换? vim中允许替换反斜杠,目前想要把'\'换成'\\' 于是可以用以下的方法替换: 在vim中输入: :%s/\\/\\\\/g 3)比较复杂的替换 aaa,bbb,ccc,ddd eee,fff,ggg,hhh iii,jjj,kkk,lll 怎样把

牧歌的技术小站 6108

vim常用命令与快捷键

vim常用快捷键 vim插入命令 快捷键 功能 i 光标前插入 a 光标后插入 I 行首插入 A 行尾插入 o 下一行插入新行 O 上一行插入新行 vim移动命令 行内移动 快捷键 功能 w 向前移动一个单词(word) b 向后移动一个单词(back) 0 行首 ^ 行首非空字符 $ 行尾 行间移动 快捷键 功能 gg 文件顶部(go) G 文件尾部 数字gg 数字对应行 :数字 数字对应行 页间移

shuaikai的博客 908

Linux运维细讲之vim的基础使用

vim是linux中一个比较重要的命令(大概是吧)vi和vim差不多~~貌似vim比较强大~~ 首先我给大家讲讲基础使用~~日后会讲解其他使用~~今天讲的东西不到vim使用的1%,vim博大精深至少也有上百个命令~我今天讲的大概只是凤毛菱角~~话说我也不是专业的linux运维基本的来讲 如果用vim jjj.conf 即使没有jjj.conf也会进入界面~~ 如果保存的话~~这个文件就会生成

s297165331的专栏 746

三步掌握Vim可视模式删除:精准编辑文本的终极技巧

你是否遇到过这些编辑痛点?删除代码块时误删整行、调整表格时格式错乱、修改配置文件时破坏缩进结构?Vim的可视模式(Visual Mode)删除功能正是解决这些问题的利器。本文将通过实战场景演示如何只删除选择区域而不影响其他内容,让你从此告别"删多了"的懊悔时刻。 ## 认识Vim的三种可视模式 Vim提供三种可视模式满足不同编辑需求,在[README.md](https://link.gitc...

gitblog_00138的博客 417

30年编辑器大战终局:Vim与Emacs谁才是Linux运维的终极选择?

你是否每天要花30%时间在编辑器操作上?面对服务器日志分析、配置文件修改、脚本编写等高频任务,选错编辑器可能让效率大打折扣。本文将从实战角度对比两大编辑器的核心差异,帮你找到最适合Linux环境的生产力工具。读完你将掌握: - Vim与Emacs的效率瓶颈对比 - 10个必备快捷键的场景化应用 - 3分钟上手的配置方案 - 运维/开发场景的工具选型指南 ## 编辑器双雄的前世今生 Vim(V...

gitblog_00036的博客 906

贫穷的VIM作者Bram Moolenaar

Bram Moolenaar VIM编辑器的作者 Moolenaar先生,能介绍一下你自己吗? 我居住在荷兰东边,现在全职搞开源软件。我一个人生活,这样我就不必供养一个家庭。那会很难,因为我做的大部分工作没有报酬。我在家里工作,这样就避免了因为交通阻塞而浪费时间。我和外部世界的大多数沟通是通过email完成的。为了补偿自己,在假期我会到离家很远的国家旅游。我喜欢了解不同的

u014057054的专栏 3415

linux编译器之再谈vim入门

linux编译器之再谈vim入门

Anooyman的博客 895

JJJ:给一个shell指令起别名,如让vi指向vim

这个只是一次性(在mobaxterm中的一个窗口中执行,在另一个窗口不会生效),

engineer0的博客 220
上一篇: JJJ:改善ubuntu网速慢的方法
下一篇: JJJ:linux系统中第一个进程
你板子冒烟了
博客等级 码龄8年 1278粉丝 582原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值