奇巧淫技(Vim有什么奇技淫巧)

精英怪
广告

奇巧淫技,Vim有什么奇技淫巧?

这是我自己csdn博客上的整理,拿出来给大家分享一下。

奇巧淫技(Vim有什么奇技淫巧)

一、大范围的移动:

* 当光标停留在一个单词上,* 键会在文件内搜索该单词,并跳转到下一处;

当光标停留在一个单词上,# 在文件内搜索该单词,并跳转到上一处;

(/) 移动到 前/后 句 的开始;

{/} 跳转到 当前/下一个 段落 的开始。

g_ 到本行最后一个不是 blank 字符的位置。

fa 到下一个为 a 的字符处,你也可以fs到下一个为s的字符。

t, 到逗号前的第一个字符。逗号可以变成其它字符。

3fa 在当前行查找第三个出现的 a。

F/T 和 f 和 t 一样,只不过是相反方向;

gg 将光标定位到文件第一行起始位置;

G 将光标定位到文件最后一行起始位置;

NG或Ngg 将光标定位到第 N 行的起始位置。

在屏幕中找到需要的 一页 时,可以用下面的命令快速移动光标:

H 将光标移到屏幕上的起始行(或最上行);

M 将光标移到屏幕中间;

L 将光标移到屏幕最后一行。

同样需要注意字母的大小写。H 和 L 命令还可以加数字。如 2H 表示将光标移到屏幕的第2行,3L 表示将光标移到屏幕的倒数第3行。

当将光标移到所要的行是,行内移动 光标可以用下面的命令来实现:

w 右移光标到下一个字的开头;

e 右移光标到一个字的末尾;

b 左移光标到前一个字的开头;

0 数字0,左移光标到本行的开始;

$ 右移光标,到本行的末尾;

^ 移动光标,到本行的第一个非空字符。

二、搜索匹配

和许多先进的编辑器一样,Vim 提供了强大的字符串搜索功能。要查找文件中指定字或短语出现的位置,可以用Vim直接进行搜索,而不必以手工方式进行。搜索方法是:键入字符 / ,后面跟以要搜索的字符串,然后按回车键。编辑程序执行正向搜索(即朝文件末尾方向),并在找到指定字符串后,将光标停到该字符串的开头;键入 n 命令可以继续执行搜索,找出这一字符串下次出现的位置。用字符 ? 取代 / ,可以实现反向搜索(朝文件开头方向)。例如:

/str1 正向搜索字符串 str1;

n 继续搜索,找出 str1 字符串下次出现的位置;

N 继续搜索,找出 str1 字符串上一次出现的位置;

?str2 反向搜索字符串 str2 。

三、替换和删除

Vim常规的删除命令是 d、 x (前者删除 行 ,后者删除 字符 ),结合Vim的其他特性可以实现基础的删除功能。将光标定位于文件内指定位置后,可以用其他字符来替换光标所指向的字符,或从当前光标位置删除一个或多个字符或一行、多行。例如:

rc 用 c 替换光标所指向的当前字符;

nrc 用 c 替换光标所指向的前 n 个字符;

5rA 用 A 替换光标所指向的前 5 个字符;

x 删除光标所指向的当前字符;

nx 删除光标所指向的前 n 个字符;

3x 删除光标所指向的前 3 个字符;

dw 删除光标右侧的字;

ndw 删除光标右侧的 n 个字;

3dw 删除光标右侧的 3 个字;

db 删除光标左侧的字;

ndb 删除光标左侧的 n 个字;

5db 删除光标左侧的 5 个字;

dd 删除光标所在行,并去除空隙;

ndd 删除(剪切) n 行内容,并去除空隙;

3dd 删除(剪切) 3 行内容,并去除空隙;

其他常用的删除命令有:

d$ 从当前光标起删除字符直到行的结束;

d0 从当前光标起删除字符直到行的开始;

J 删除本行的回车符(CR),并和下一行合并。

四、字符串搜索

在 编辑模式 讲过字符串的搜索,此处的 命令模式 也可以进行字符串搜索,给出一个字符串,可以通过搜索该字符串到达指定行。如果希望进行正向搜索,将待搜索的字符串置于两个/ 之间;如果希望反向搜索,则将字符串放在两个 ? 之间。例如:

:/str/ 正向搜索,将光标移到下一个包含字符串 str 的行

:?str? 反向搜索,将光标移到上一个包含字符串 str 的行

:/str/w file 正向搜索,并将第一个包含字符串 str 的行写入 file 文件

:/str1/,/str2/w file 正向搜索,并将包含字符串 str1 的行至包含字符串 str2 的行写

五、正文替换

利用 :s 命令可以实现字符串的替换。具体的用法包括:

:%s/str1/str2/ 用字符串 str2 替换行中首次出现的字符串 str1

:s/str1/str2/g 用字符串 str2 替换行中所有出现的字符串 str1

:.,$ s/str1/str2/g 用字符串 str2 替换正文当前行到末尾所有出现的字符串 str1

:1,$ s/str1/str2/g 用字符串 str2 替换正文中所有出现的字符串 str1

:g/str1/s//str2/g 功能同上

:m,ns/str1/str2/g 将从m行到n行的str1替换成str2

六、分屏

普通的Vim模式,打开一个Vim程序只能查看一个文件,如果想同时查看多个文件,就需要用到Vim分屏与标签页功能。

Vim的分屏,主要有两种方式:上下分屏(水平分屏)和左右分屏(垂直分屏),在命令模式分别敲入以下命令即可:

:split(可用缩写 :sp) 上下分屏;

:vsplit(可用缩写 :vsp) 左右分屏。

另外,也可以在终端里启动vim时就开启分屏操作:

vim -On file1 file2... 打开 file1 和 file2 ,垂直分屏

vim -on file1 file2... 打开 file1 和 file2 ,水平分屏

理论上,一个Vim窗口,可以分为多个Vim屏幕,切换屏幕需要用键盘快捷键,命令分别有:

Ctrl+w+h 切换到当前分屏的左边一屏;

Ctrl+w+l 切换到当前分屏的右边一屏;

Ctrl+w+j 切换到当前分屏的下方一屏;

Ctrl+w+k 切换到当前分屏的上方一屏。

即键盘上的h,j,k,l 四个Vim专用方向键,配合Ctrl键和w键(window的缩写),就能跳转到目标分屏。另外,也可以直接按 Ctrl+w+w 来跳转分屏,不过跳转方向则是在当前Vim窗口所有分屏中,按照逆时针方向跳转。

下面是改变尺寸的一些操作,主要是高度,对于宽度你可以使用 [Ctrl+W <] 或是 [Ctrl+W>] ,但这可能需要最新的版本才支持。

Ctrl+W = 让所有的屏都有一样的高度;

Ctrl+W + 增加高度;

Ctrl+W - 减少高度。

七、标签页

Vim的标签(Tab)页,类似浏览器的标签页,一个标签页打开一个Vim的窗口,一个Vim的窗口可以支持N个分屏。

在Vim中新建一个标签的命令是:

:tabnew

如果要在新建标签页的同时打开一个文件,则可以在命令后面直接附带文件路径:

:tabnew filename

Vim中的每个标签页有一个唯一的数字序号,第一个标签页的序号是0,从左向右依次加一。关于标签页有一系列操作命令,简介如下:

:tN[ext] 跳转到上一个匹配的标签

:tabN[ext] 跳到上一个标签页

:tabc[lose] 关闭当前标签页

:tabdo 为每个标签页执行命令

:tabe[dit] 在新标签页里编辑文件

:tabf[ind] 寻找 'path' 里的文件,在新标签页里编辑之

:tabfir[st] 转到第一个标签页

:tabl[ast] 转到最后一个标签页

:tabm[ove] N 把标签页移到序号为N位置

:tabnew [filename] 在新标签页里编辑文件

:tabn[ext] 转到下一个标签页

:tabo[nly] 关闭所有除了当前标签页以外的所有标签页

:tabp[revious] 转到前一个标签页

:tabr[ewind] 转到第一个标签页

古代中国人为何把工匠的发明创造看做奇巧淫技?

中国历史上对“奇技淫巧”的认识成型很早,但这件事不能一言以蔽之,毕竟上下五千年。早如《尚书·泰誓》:「﹝商王﹞作奇技淫巧,以悦妇人」的诸多故事版本中,错的都是商王纣,而非奇技淫巧的发明创造者。所指责的,也是他对女性的过度迷恋引发的种种恶行。

但是在唐代,比如唐僖宗(873)时,认为将女工投入到纺织刺绣的生产中,是妨害农事的错误行为,而奇技淫巧古人早已说过,故而应以节俭朴素为主(《全唐文》多处)。它针对的休养民生目的性很强,比如唐中宗(683)安乐公主的百鸟裙,就是动用举国之力完成的。

因此唐代对“奇技淫巧”的怨气,主要来源于唐代皇室的骄奢淫逸,仍不是对着工匠开火。毕竟唐僖宗时是有黄巢之乱的……所以「其诸道不得进奉纹绣宫锦雕镂轻靡彰施之物」。不妨看看今日某些国家的皇室成员,其性质是很相似的。

可到了明代,状况发生了改变。《明史》中有大量关于“奇技淫巧”的记录,比如:

“奇技淫巧,祷祠宫观,糜费无算。”——《明史·后妃》

“神仙、佛老、外戚、女谒,声色货利,奇技淫巧,皆陛下素所惑溺,而左右近习交相诱之。”——《明史·汪奎传》

“司礼诸阉滕祥、孟冲、陈洪方有宠,争饰奇技淫巧以悦帝意,作鰲山灯,导帝为长夜饮。”——《明史·宦官二》

“豪民僭王者之居,富室拟公侯之服。奇技淫巧,上下同流。”——《明史·李文祥》

在明代,仍出现了皇室铺张浪费国家财力、阉宦和伶人技工,及宗教名目的蛊惑帝王等诸多事由,都被认为是奇技淫巧引发。但是让当时占据主流话语权的人们最看不惯的,就是乱纲常、多异言。是故在明代《大学衍义补》中,以道德礼教所言「是故异服异言者有禁,奇技淫巧者有诛,百工技艺皆有常业而不敢习为异端,日常器械皆有定制而不敢作为邪异……如是,则若远若近、曰大曰小皆不敢立异以常,均齐方正,咸惟道德之归,此天下风俗所以常同也欤。」

这个想法延续的是宋代王安石的一些思考,他在《临川集》曾说过「有作奇技淫巧以疑众者,纠罚之;下至物器馔具,为之品制以节之;」或者王安石那个时期,以兴国而谋,要遵循这样的发展,但是明代呢?继续保留这种想法,并将之发展到抑制民生的地步,奇技淫巧者有诛……比较明代的这种表现,何为暴秦啊?

在这种错误思考的发展下,清代出现了愈发荒诞的话语,比如《塞外杂识》所言:

“西洋人知历法通天文,更精黄白术(炼金术)。到处开点诱人入教而终不传于人。器用虽多,不过奇技淫巧,供玩赏而已,非中国所必需。惟酒味清洌,善饮者数杯即醉。”

比如《官场现形记》所讽:

“臣是天朝的大臣,应该按照国家的制度办事。什么火车、轮船,走的虽快,总不外乎奇技淫巧;臣若坐了,有伤国体,所以断断不敢。”

这些发展,即便在康有为的《上清帝七书》中也可看到。慈禧把小火车弄进颐和园,错的是奇技淫巧,没有这东西她就不会铺张浪费了……这想法未免太扭曲了些。所以正是诸如短视、阿谀、固步自封等缘由,造就出晚清那个模样。

但是对这种发展的思考,或者并不能仅以实用主义、务实理念去看待。举例而言,今日一些国家的人在豢养宠物呼吁动物权利的同时,却否定其他人对其他动物的基本膳食需求……试问豢养本身不是以拘禁其他生命为娱己目的的错误需求吗?缘何要以看似正确的错误需求,去否定看似错误的正确需求?所以,对奇技淫巧的否定,所涉及的是包括且不限于求同不存异、少数人暴政等方面的影响。

奇技淫巧以悦妇孺什么意思?

出自《书·泰誓下》,原句是:以遣有乐之生,奇技淫巧以悦妇孺的意思。这话的时代背景时清朝后期的上层人士对西方先进科学技术的愚昧无知的态度,认为西方的科学技术及所发明创造的机械产品如照相机、钟表什么的无非就是哄着女人和小孩乐的玩意儿,没有什么使用价值。

诸君有哪些有关排序的奇技淫巧?

指鹿为马排序法。这个算法时间复杂度 O(n)。 聚集一帮人并向他们展示数组。 询问他们这个数组是否是排序好的。 干掉其中认为没有排序好的人。 重复几次,直到所有人同意这个数组是排序好的。

MATLAB有什么奇技淫巧?

一个5跨连续梁的柔度方程矩阵,每天纯8个小时,3天列完,用matlab求解矩阵,不到0.1秒结束,手工解该矩阵,先复习线性代数7天,解矩阵7天。不需要什么奇淫技巧,速度就是最大的技巧。

发表评论

快捷回复: 表情:
AddoilApplauseBadlaughBombCoffeeFabulousFacepalmFecesFrownHeyhaInsidiousKeepFightingNoProbPigHeadShockedSinistersmileSlapSocialSweatTolaughWatermelonWittyWowYeahYellowdog
评论列表 (暂无评论,201人围观)

还没有评论,来说两句吧...