vim + tmux窗格平滑切换

再也不用担心无法一边打开vim一边运行终端命令了 推荐~/.vimrc和~/.tmux.conf配置, 以实现vim和tmux窗格的平滑切换 vimrc添加并安装 Plugin 'christoomey/vim-tmux-navigator' /.tmux.conf 添加: # Smart pane switching with awareness of Vim splits. # See: https://github.com/christoomey/vim-tmux-navigator is_vim="ps -o state= -o comm= -t ...

tmux快捷键速查

Tmux 快捷键 & 速查表 启动新会话: tmux [new -s 会话名 -n 窗口名] 恢复会话: tmux at [-t 会话名] 列出所有会话: tmux ls 关闭会话: tmux kill-session -t 会话名 关闭所有会话: tmux ...

上下文管理器类和上下文管理器装饰器

一. 什么是上下文管理器 二. 自定义一个上下文管理器类: 三. 使用contextmanager 四. 一个例子, sqlalchemy: 数据库的自动提交和回滚 一. 什么是上下文管理器 上下文管理器是在Python2.5之后加入的功能,可以在方便的需要的时候比较精确地分配和释放资源, with便是上下文管理器的最广泛的应用, 比如: with open("test/test.txt","w") as f: f.write("hello") 这上会比使用try:...finally:f.close方便的多. 二. 自定义一个上下文管理器类: class MyResource: # ...

更好的对象转字典

一. 方便但不完美的__dict__ 对象转字典用到的方法为__dict__. 比如对象对象a的属性a.name='wk', a.age=18, 那么如果直接将使用a.__dict__获得对应的字典的值为: {name: 'wk', aget:18}, 很方便, 但是也存在一些限制. 其不完美之处在于: 比如: class A(object): name = 'wukt' age = 18 def __init__(self): self.gender = 'male' ...

vim: 显示树形目录插件NERDTree安装和常用指令

一. 安装: 将压缩包内文件放入指定目录即可: 将plugin/NERD_tree.vim拷贝~/.vim/plugin, doc/NERD_tree.txt拷贝到~/.vim/doc. wget http://www.vim.org/scripts/download_script.php?src_id=17123 -O nerdtree.zip unzip nerdtree.zip mkdir -p ~/.vim/{plugin,doc} cp plugin/NERD_tree.vim ~/.vim/plugin/ cp doc/NERD_tree.txt ~/.vim/doc/ 二. 绑定快捷方式和其他常用快捷键 此时打开vim即可使用:NERDTree来显示属性目录结构 绑定快捷键f10: :map <F10> ...

flask_sqlalchemy: 重写查询方法例子(重写filter_by)

引出 比如某个项目中, status是逻辑删除的标志, 每次查询都需要加上status=1, Gifts.query.filter_by(uid=current_user.id, isbn=isbn, launched=False, status=1) 非常的不方便, 重写filter_by是一个不错的选择 重写 filter_by等查询函数定义在sqlalchemy.orm.Query中, flask_sqlalchemy.BaseQuery继承了orm的Query, 因此我们重写的时候可是直接继承BaseQuery. 自定义filter_by的代码为: class Query(BaseQuery): def filter_by(self, **kwargs): if 'status' not in kwargs.keys(): kwargs['status'] ...

本地代理加速gitclone

适用于网络大环境引起的git clone 缓慢, 设置git全局代理: git config --global http.proxy 'socks5://127.0.0.1:1080' git config --global https.proxy 'socks5://127.0.0.1:1080' 或者根据实际情况使用: git config --global http.proxy 'http://127.0.0.1:1080' git config --global https.proxy 'https://127.0.0.1:1080' 也可以手动:vim ...

ssh连接本地linux虚拟机

第一步: 虚拟机内安装ssh服务端: sudo apt-get insatll -y openssh-server # -y表示一路选yes 如果不行请先更新软件列表: sudo apt-get update 第二步: 开启服务: service ssh start 查看是否开启成功: ps -aux | grep ssh   如果无法启动则使用 , 如果成功直接跳转第三步 cd ...

php两种简单的设计模式:工厂模式和单例模式

什么是设计模式: 简单的说,设计模式就是解决某个问题的一般性代码的经验性总结。 类比的说,它类似之前所学的算法:针对某种问题,使用特定的语法逻辑就可以完成该任务。(注意此处为类比)。 工厂模式: 所谓工厂模式,就是一个特定的类,它可以根据传递给她的类,二区生产出对应类的对象。 代码: //设计一个工厂类: 这个工厂类有一个静态方法 // 通过该方法可以获得指定的类的对象 class A{}; class B{}; class GongChang{ static function GetObject($className){//静态方法 $obj=new $className();//这是可变类 return $obj; } } $o1=GongChang::GetObject(“A”); ...

我们立足于美利坚合众国,对全球华人服务,受北美法律保护