vim-另存为

本文出自svtter.com 想要另存一个文件名,但是vim另存的方法。。然后发现了sav这个东西。 help文件中是这么描述的: :sav :saveas :sav[eas][!] [++opt] {file} 用文件名 {file} 保存当前缓冲区,并设置当前缓冲区的文件 名为 {file}。前一个名字用作轮换文件名。[!] 用以覆盖已 存在的文件。 如果 ‘filetype’ 为空,在写入文件前用新名字进行文件类型 检测。 如果写操作成功,复位 ‘readonly’。 可见,可以利用sav来重命名当前文件,并且修改新命名的文件的功能。唯一的不足就是,我们无法通过这个操作将原来的 文件删除(或者我们本来就不需要删除原来的文件). 这是vim的缓冲区机制决定的。 个人认为无伤大雅,不是吗= = 有时候wiki以及:help要比在网上百度一下好用的多 — 这个月饭都吃不起了,别跟我提VPN.

Read More

vim的补全插件

Vim的补全插件大体上分4个阵营,如deoplete, completor.vim, YCM, 以及neocomplete

在我想写这篇文章的时候,YCMyoucompleteme还认为自己支持了vim8的新特性async,即非阻塞补全那一套东西。这个特性是怎么回事呢?输入的时候补全插件会进行补全搜索,这个时候如果不用新的特性,会造成UI卡顿。

所以,事实上根据我的测试,作者似乎错误的理解了这个新特性,可以看看工单

不过目前没有时间去搞清楚这个问题。因为我直接选择了completor.vim,这个插件完美实现了这个功能。

Read More

vscode为django添加合适的pylint

使用vscode进行django开发的时候,总会出现一些错误,比如说对Django的一些结构进行错误的报错; 这个时候可以安装pylint-django这个插件。 安装方法:pip install pylint-django 使用: 在.vscode/配置文件中增加: "python.linting.pylintArgs": [ "--load-plugins=pylint_django" ], 即可。 参考 https://stackoverflow.com/questions/45135263/class-has-no-objects-member

Read More

《黑客与画家》读后

黑客与画家真是一本比较不错的书,点明了我许多朦胧的想法,也带来了很多新的思路。 就算是无法成为一个真正的成功者,成为一名合格的黑客也是不错的。话不多,来点摘录。时间间隔较长, 有时间再把相应的感受夹在其中。 一部分原因是,青少年在心理上还没有摆脱儿童状态,许多人都会残忍地对待他人。他们折磨书呆子的原因就像拔掉一条蜘蛛腿一样,觉得很好玩。在一个人产生良知之前,折磨就是一种娱乐。 如何制作viaweb 与用户直接对话的一些大型应用程序、被这些大型程序使用的程序、常驻后台报告系统出错的程序、重新启动出错部分的程序、生成统计报告或数据库索引的程序(偶然运行)、回收资源或者移动及恢复数据的程序(手动运行)、伪装成用户的程序(为了测试系统和发现bug)、诊断网络故障的程序、完成备份的程序、对外提供服务界面的程序、实时显示服务器状态和访问数据的程序(很受用户欢迎,对我们也是必不可少的)、修改后的开源软件程序(包括修正bug)以及许许多多的配置和设定文件。 你在害怕什么? 一件是你不懂得管理企业,另一件是你害怕竞争。可是实际上,这两件事都是没有通电的电篱笆。 此外,将公司管理视同软件优化还能帮助你避免VC担心的另一个陷阱——开发某种产品的时间过长。现在,黑客都已经熟知这一点,并总结出一个术语“过早优化”(premature optimization)。尽快拿出1.0版,然后根据用户的反映而不是自己的猜测进行软件优化 让书呆子保住他们的血汗钱,你就会无敌于天下。 什么是贫富差距 技术的发展加大了贫富差距,这是不是一个社会问题?好像没有那么严重。技术在加大收入差距的同时,缩小了大部分的其他差距。 贫富差距在人们无法温饱的时候尤为明显,但是在衣食足无特权的时候呢? 黑客们在想什么? 黑客改造语言的乐趣就好比外科医生摆弄病人内脏的乐趣,或者青少年喜欢用手挤破青春痘的那种感觉。至少对男生来说,某些类型的破坏非常刺激。针对青年男性读者的Maxim杂志每年出版一本特辑,里面一半是美女照片,另一半是各种严重事故的现场照片。这本杂志非常清楚它的读者想看什么^。 爆发的用户增长到底怎样? 用户是一把双刃剑。他们推动语言的发展,但也使得你不敢对语言进行大规模改造。所以,一开始的时候要精心选择用户,避免使用者过快增长。发展用户就像一种优化过程,明智的做法就是放慢速度。一般情况下,用户比较少意味着你任何时候都可以加大修改的力度。这时,对语言规格做出改变就像撕绷带,当你感到痛苦的一瞬间,痛苦就已经成为了回忆。如果用户数量庞大,修改语言带来的痛苦就将持续很长时间。

Read More

一个小的助记工具

花了一小段时间撸了一个助记工具,运行起来就是把“复制”的词汇自动保存到规定的json文件中,并累计次数。如果后面有时间继续做下去,可能会考虑做一些可视化的工作,以及调用一些第三方API等等。 可能一些词典工具本身已经带有这个功能,不过自己开发的东西自由度会更大一些,学习成本不高。 github repo: wordRecorder roadmap leancloud云端保存! 还没想好

Read More

一些vim的想法

插件管理方面 对于Vundle,可以给每个插件添加一个简单的配置文件,针对不同的插件进行不同的载入,有时间可以实现一下。 或者可以重新造轮子,自己写一个插件管理器,实现功能。 莫非已经实现了功能而我没有发现?= = Map.vim /tmp/tmp.cpp ACM.vim 添加gdb调试脚本功能。 添加一键比对功能。 另外 可以将一部分相关的func转移。

Read More

与所有单词相关联的字串

题目 https://leetcode-cn.com/problems/substring-with-concatenation-of-all-words/description/ 给定一个字符串 s 和一些长度相同的单词 words,找出 s 与 words 中所有单词(words 每个单词只出现一次)串联一起(words 中组成串联串的单词的顺序随意)的字符串匹配的所有起始索引,子串要与串联串完全匹配,中间不能有其他字符。 举个例子,给定: s:”barfoothefoobarman” words:[“foo”, “bar”] 你应该返回的索引: [0,9]。(任意顺序) 题解 代码写的比较清楚,应该不需要题解。。 code class Solution: def match(self, ss, word_dic): len_ss = len(ss) word_number = i = while True: word = ss[i:i+self.len_of_word] # keys() update if word in word_dic: if word_dic[word] > : word_dic[word] -= 1 word_number += 1 # is update if word_number is self.len_of_words: return True # repeat else: return False # not exist else: return False i += self.

Read More

为了自由

本文出自svtter.com 本文可以随意转载,但是转载请保留本信息. Linux下自由之路颇为难走 — 也不是很难走,openvpn等等工具都还好,但是因为前几天支付宝刚刚挂 掉 — 好吧,我承认挂掉有些时间了,但是我一直懒得跑银行,反正没了网银也不是不能活。 然后的然后就是自由之路的走法了。因为没有网银,买不了vpn,只能自己好好想办法了。goa.ent我尝 试过,但是因为过于慢的速度和不稳定的因素所以决定作为下下策。另外开源了的go堵起来是不是更容 易呢。。也是醉了。 必须要灭蟑了,真心受不了了,外卖给宿舍带来的是无尽的蟑螂。 archlinux下我给的方案是利用一些自由软件来进行走道,这方面的东西还是比较多的,我就不一一列举 了,但是还是主要针对free.oor来进行。 archlinux或者其他的发行版直接安装wine就可以了,方法也是很简单。怎么安装?举个简单的例子,想 要用什么,就发行版 + wine进行搜索,很快就可以找到了。wine是Linux的windows模拟器,暂且这么 理解吧。 搞好了wine以后,点击运行你下载的软件即可 — 会提示MFC42.dll不存在。然后有些双系统的同志喜欢 从自己的另一个系统里cp到.wine/drive_c/windows/system32或者syswow64下,但是事实上这样解决 不了问题,最好的方法是从百度搜索一个:MFC42.dll winxp这样的比较合适,可能是wine在最初适配 的时候主要使用的这个吧。 成功开启以后,就是代理服务器的问题了。代理服务器方面,个人认为Linux设置起来比windows容易( 也可能是我不太喜欢windows,所以没有认真研究的缘故)。 如果在bash下,使用export http_proxy=localhost:PORT即可。对了,PORT是对应的端口,不要搞错 了。这样在bash下开启的程序都是走代理的,更确切的说是从shell跑的程序都是走的代理。所以要搞什 么系统全局的问题, 不同发行版的问题也就迎刃而解了。 感谢你能够读完这篇文章。

Read More