VIMer不用羡慕EMACSer了_emacser发行版-程序员宅基地

技术标签: server  opera  browser  lisp  vim  emacs  Lisp  

学习使用Lisp当然是用emacs+slime, 但像偶这种已经深受VIM"毒害"的能不能拥有emacs那样的环境呢?

答案是肯定的,因为有了slimv,可能功能没有slime强大,但也基本够用了。这里有一篇教程


目前偶使用最多的环境是:stumpwm(swank) + vim(slimv), 用VIM看Common Lisp代码时,只需要按<,c>就可以快速连上stumpwm中的swank server(是因为stumpwm本身就是一个完整的CL环境), 然后就可以在REPL中测试CL代码。


记录一下常用的slimv按键:

<,c>   联结/启动swank server

<,e>   Eval current s-expression

<,d>   Eval current top-level form

<,r>   Eval选中区域

<,b>   Eval buffer

<,g>   set the current package

<,v>   交互式Eval

<,u>   取消函数定义

<,s>   显示symbol描述信息


<,W>   Wrap s-expression in a new pair of parentheses

<,S>   remove the outer pair of parentheses (Splice)

<,O>   Split s-expression

<,J>   Join s-expression

<,<>   Move parens to the Left

<,>>   Move parens to the Right


<,D>   compile函数

<,F>   compile整个文件

<,L>   compile & load整个文件


<,h>   查CL-HyperSpec(如果用Opera,需要在~/.vimrc中加入: let g:slimv_browser_cmd = "opera")

...


附~/.vimrc

colorscheme torte
"Toggle Menu and Toolbar scrollbar
"set guioptions-=m
set guioptions-=T
set guioptions-=r

set nocompatible
"设置历史记录步数
set history=400
"开启文件类型判断插件
filetype plugin on
filetype indent on
"当文件在外部被修改,自动更新该文件
set autoread


"激活鼠标的使用
"set mouse=a
set paste
set clipboard=unnamed
set tabstop=4
set softtabstop=4
set shiftwidth=4
set expandtab
set smarttab

set nobackup
set noswapfile

set cindent
set smartindent

"set incsearch
set autoindent
set hlsearch
set showmatch
set backspace=2
"set backspace=eol,start,indent

set mps+=<:>

set dy=lastline

syntax enable
syntax on

"filetype on
filetype plugin on
filetype indent on

set encoding=utf-8
"set fileencodings=utf-8,chinese
set fileencodings=utf-8,gb2312,gbk,gb18030
set termencoding=utf-8
set history=50

"set foldcolumn=2
"set foldmethod=indent
"set foldlevel=3

set ruler
set showcmd

au BufRead,BufNewFile *.asd set filetype=lisp

"Change work dir to current dir
autocmd BufEnter * cd %:p:h

set sessionoptions+=resize,winpos
"autocmd VIMEnter * :source ~/.vim_session
"autocmd VIMLeave * :mksession! C:/session.vim

"autocmd FileType python setlocal et sta sw=4 sts=4
"autocmd FileType python setlocal foldmethod=indent

" tab
"map <S-Down> :tabnew<CR>
"map <S-Left> :tabp<CR>
"map <S-Right> :tabn<CR>

map <S-Left> :b#<CR> :bd#<CR>

map <F12> :mksession! ~/.vim_session <cr> " Quick write session with F2
map <F2> :source ~/.vim_session <cr> " And load session with F3

nmap <C-F7> :%!xxd -g 1<CR>
nmap <S-F7> :%!xxd -r<CR>

"let g:slimv_swank_cmd = '! xterm -e sbcl --load ~/.vim/slime/start-swank.lisp &'
"let g:swank_log = 1
let g:slimv_browser_cmd = "opera"

" debug VIM
"set verbosefile=test.log
"set verbose=20


版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/sw2wolf/article/details/7323862

智能推荐

iOS14 UITableViewCell & UICollectionViewCell 中还是乖乖使用 contentView 吧-程序员宅基地

文章浏览阅读1.5k次。做过 iOS 开发的,一般都使用过 UITableView UICollectionView,也就会用到 UITableViewCell UIColletionViewCell,在 iOS14 之前,使用UITableViewCell 或者 UICollectionViewCell 添加控件的时候,不管使用 [self addSubview:]; 还是使用 [self.contentView addSubview:];,最后的视图层级都是一样的。但是在 iOS14 上,视图层级发生了一些变化。而这个变化,会

乐视三合一体感摄像头开发(捡漏)笔记——100块要啥自行车_乐视三合一摄像头工作原理-程序员宅基地

文章浏览阅读1.8w次,点赞11次,收藏67次。乐视三合一体感摄像头开发(捡漏)笔记不久前在闲鱼上淘了一个乐视体感摄像头,这是乐视之前做的一款周边硬件,它当时是对标Kinect的,该有的结构一点不差,然而乐视凉凉之后,这个摄像头价格也从八九百降到现在一百多就能搞到。(不过这也是因为那些存货商家以为这个只能配套乐视电视用)对想入门视觉的新人来说,这绝对是一个捡漏的好机会。事实上论文里面大多开发者用的都是Kinect,乐视这款摄像头该有的都有..._乐视三合一摄像头工作原理

kali系统配置FTP服务器-程序员宅基地

文章浏览阅读166次。3 ) FTP 服务器用来存储文件 , 客户端电脑可以使用 FTP 客户端软件 来进行文件的。1 ) FTP : File Transfer Protocol :文件传输协议。4 )由于 FTP 传输效率非常高,在网络上传输大的文件时,一般也采用该协议。--商业版FTP软件(花钱购买)--搭建FTP服务器。--开源版FTP软件(不用花钱)--搭建FTP服务器。2 ) FTP 协议包括两个组成部分( C/S)--客户端几乎都是免费的,---访问FTP服务器。如: Classic FTP。

玩客云安装armbian常用配置_armbian 修改密码-程序员宅基地

文章浏览阅读8.3k次。一、写入emmc前添加MACvim /boot/install/install.shi在第二行输入Mac:MAC="00:22:6D:5D:D3:D9":wq写入emmc命令cd /boot/install./install.sh二、玩客云Armbian用armbian-config设置静态IP 重启后变成DHCPhttps://www.baidu.com/link?url=7eGAxKs45UEw6aWDH_sK5-8BpVAge7ofs6iSQZyg1oEnFwx_armbian 修改密码

《tensorflow笔记》学习记录第三节_tegsvvvsbddbxvg184411115144c3sessseedab cyentraall-程序员宅基地

文章浏览阅读85次。3.1张量、计算图、会话定义:基于tensorflow的NN:用张量表示数据,用结算图搭建神经网络,用会话执行计算图,优化线上 的权重(参数),得到模型张量(tensor) : 多维数组(列表)阶 :张量的维度张量可以表示 0阶到n阶数组(列表)维数 阶 名字 例子 0-D 0 标量 scalar ..._tegsvvvsbddbxvg184411115144c3sessseedab cyentraalldrzzlegsbvvf

计算机主机发出呲呲响声,电脑电源有滋滋声怎么解决-程序员宅基地

文章浏览阅读2.3w次。大家好,我是时间财富网智能客服时间君,上述问题将由我为大家进行解答。发出滋滋声一般有以下三种情况:1、市电电压过高,或电源功率小,负载过重会产生滋滋声。如果市电电压过高,可另加个稳压器;如果主机内硬件功耗大,是这个电源能承了的,换个功率大的电源。2、电源中的电感线圈和变压器由于浸漆不好或设计不良造成你说的电感噪音,一般不会影响使用,除了更换,没什么好的办法解决。3、电源中的劣质电容,或爆浆电容通电..._主机里面有电流滋滋滋声

随便推点

Android AudioRecord 流程分析_android record_audio-程序员宅基地

文章浏览阅读1.7k次。Android 4.4KitKat AudioRecord 流程分析   Android是架构分为三层:底层 Linux Kernel中间层 主要由C++实现 (Android 60%源码都是C++实现)应用层 主要由JAVA开发的应..._android record_audio

(已解决)编译ffmpeg时:/usr/bin/ld: cannot find crtbegin.o_cannot find crtbegin.o: no such file or directory-程序员宅基地

文章浏览阅读9.4k次,点赞2次,收藏4次。问题如下$ ./configure --enable-shared --prefix=/usr/local/ffmpeggcc is unable to create an executable file.If gcc is a cross-compiler, use the --enable-cross-compile option.Only do this if you know w..._cannot find crtbegin.o: no such file or directory

关于grid_search中param_grid可以选取哪些参数(以keras为例)_param_grid参数-程序员宅基地

文章浏览阅读7.5k次,点赞4次,收藏10次。关于grid_search中param_grid可以选取哪些参数(以keras为例)最近在学习调参时看到了 grid_search (也就是网格搜索算法)https://cloud.tencent.com/developer/article/1447855细节可以见上面这篇文章官方原话解释是param_griddict or list of dictionariesDictiona..._param_grid参数

笛卡尔积现象_带有条件的笛卡尔积-程序员宅基地

文章浏览阅读196次。当两张表进行连接查询时,没有任何条件的限制查询出来的条数是两张表条数的乘积的现象。比如:A表有name(名字),deptno(部门编号)两个字段,一共14条记录;B表有deptno(部门编号),deptname(部门名称),location(地点)三个字段,一共5条记录。如果没有任何条件加以限制:select a.name, b.deptname from a, b.那么查出来的记录会有14*5=70条记录。当然如果你加上限制条件就不一样:select a.name, b.d_带有条件的笛卡尔积

log4j升级log4j2(带Slf4j-api日志打印)详细说明_slf4j-api版本升级-程序员宅基地

文章浏览阅读781次。把log4j升级到log4j2不改动原代码_slf4j-api版本升级

web前端进阶之路;web前端不能只做普通程序员;web前端应该向前端架构师前进-程序员宅基地

文章浏览阅读606次,点赞21次,收藏28次。正值金三银四招聘旺季,很多小伙伴都询问我有没有前端方面的面试题,特地整理出来赠送给大家!资料领取方式:点击这里前往获取询问我有没有前端方面的面试题,特地整理出来赠送给大家!资料领取方式:点击这里前往获取资料领取方式:点击这里前往获取。