当前位置: 首页 > wzjs >正文

网站上用什么格式的图片烟台住房和城乡建设厅网站

网站上用什么格式的图片,烟台住房和城乡建设厅网站,服务器域名是什么?,搜狗搜索引擎优化本节我们将介绍如何在Emacs中的buffer与窗口管理,目标是快速管理窗口,以及快速在不同buffer中进行切换 基本概念介绍 Emacs与vim相比的一个特点是,Emacs是一个窗口程序,或者说是一个gui程序。而vim是一个终端字符界面程序(当然E…

本节我们将介绍如何在Emacs中的buffer与窗口管理,目标是快速管理窗口,以及快速在不同buffer中进行切换

基本概念介绍

Emacs与vim相比的一个特点是,Emacs是一个窗口程序,或者说是一个gui程序。而vim是一个终端字符界面程序(当然Emacs也可以启用终端模式),那么与vim相比,Emacs多了了一个frame的概念。有时候有些初学者(包括我自己)总是将frame当作窗口。

  • frame:Emacs整个程序,包括标题栏、工具栏、显示文本的界面等等部分
  • window: 真正用来显示文本的区域被称之为window。我们经常说的分屏就是创建了一个window,frame里可以包含多个window
  • buffer: Emacs 从磁盘中读取的文本保存在buffer中,buffer不一定都在window上显示。也不是所有buffer都对应一个文件

针对frame来说,虽然也有相关的函数可以控制,但是一般我不太喜欢在多个frame之间进行切换,也不习惯创建多个frame。所以这里先略过

window 管理

关于 window。在之前介绍了window相关的函数,包括 split-windowselected-windowdelete-window、以及跟窗口设置相关的 current-window-configurationset-window-configuration

基于evil插件,我们可以使用vim的窗口创建命令。例如可以使用 :vsp 来将窗口进行纵向分割。但是我发现 :sp:vsp 都是纵向分割的,这个跟vim就不太一样了。

好在evil提供了一个名为 evil-ex-define-cmd 函数用来修改ex命令。所以这里我们在evil的配置中进行修改,添加下面的代码

(evil-ex-define-cmd "sp"  'split-window-below)
(evil-ex-define-cmd "vsp" 'split-window-right)

vim的方式创建窗口

窗口创建完成之后,我们可以使用vim 的方式来关闭窗口,例如使用 :q 命令来关闭当前窗口,或者使用 :on (或者它的全称 :only) 命令来关闭其他所有窗口。

在窗口之间的移动,当初我在介绍vim配置的时候介绍过我习惯使用 leader + ‘h/j/k/l’ 的方式来在各个窗口间移动。但是在Emacs中,我们有比这更高效的移动方式。

ace-window 是一个在各个窗口之间进行快速跳转的插件,在激活ace-window 之后,它会在各个窗口上标记一个数字,我们可以按下这个数字快速跳转到对应的窗口

(use-package ace-window:ensure t:after general:hook (dired-mode . (lambda ()(setq-local aw-ignore-on t))) ;; dired-mode 下禁用 ace-window:config(my-leader-def:states '(normal visual)";" #'ace-window"l" #'evil-window-left"h" #'evil-window-right"j" #'evil-window-down"k" #'evil-window-up))

这里我们绑定 leader + ; 来调用 ace-window 执行窗口的跳转

ace-window

buffer 管理

在介绍neovim 的配置的时候,介绍过一个名为 buffer-line 的插件,它可以很方便的将 buffertab 的形式给列出来,并且可以根据当前打开的buffer上的编号来进行跳转,我们绑定了 leader + 1~9 的数字来分别跳转到编号为 1~9 的buffer。Emacs中我也希望实现这样的功能,可以将vim上的操作无缝的转移到Emacs上来。

要实现这个功能,我们可以安装 awesome-tab 包。它并没有被包含在Emacs 的官方源中,我们需要自行下载

git clone --depth=1 https://github.com/manateelazycat/awesome-tab.git

将它下载到对应的位置之后,如果要加载它,则需要将它所在的路径放到 load-path

如果使用 use-package 来加载可以使用如下的代码

(use-package awesome-tab:load-path "path/to/your/awesome-tab":config(awesome-tab-mode t))

启用之后,当我们多开了几个buffer之后,它们被显示到不同的tab上了。

如果希望能像 buffer-line 那样根据编号跳转,首先可以通过 awesome-tab-show-tab-index 来显示tab上的编号,然后绑定数字键到 awesome-tab-select-visible-tab 进行跳转。

解决了这个问题,剩下的函数官方文档上都有介绍,所以我们还是沿用vim上的快捷键,最终的配置如下:

(use-package awesome-tab:load-path "~/.emacs.d/awesome-tab":after general:custom(awesome-tab-show-tab-index 1):config(awesome-tab-mode t)(my-leader-def:states '(normal)"gb" #'awesome-tab-ace-jump"gT" #'awesome-tab-backward-tab"gt" #'awesome-tab-forward-tab"1" #'awesome-tab-select-visible-tab"2" #'awesome-tab-select-visible-tab"3" #'awesome-tab-select-visible-tab"4" #'awesome-tab-select-visible-tab"5" #'awesome-tab-select-visible-tab"6" #'awesome-tab-select-visible-tab"7" #'awesome-tab-select-visible-tab"8" #'awesome-tab-select-visible-tab"9" #'awesome-tab-select-visible-tab))

ace-window

awesome-tab还可以针对不同的buffer进行分组,然后对分组的buffer进行统一的操作,这里就不介绍了,有兴趣的读者可以自行阅读相关的文档。

本节到此就结束了,本节通过 ace-windowawesome-tab 插件基本复刻了vim中有关窗口的配置和快捷键。

http://www.dtcms.com/wzjs/569538.html

相关文章:

  • 如何替换网站外贸网站优化在线推广
  • 佛山做网站的哪个好成都酒店设计十大公司排名
  • 国外设计教程网站美容医疗手机网站模板
  • 律师个人网站有用吗个人空间网站免费
  • 怎样上传自己做的网站小米发布会2024
  • 成品网站1688入口网页版lnmpa 搭建wordpress
  • ppt 如何做网站交互式义乌进货网
  • 网站上的付费文章怎么做网站托管服务内容
  • 个人制作网站工具房产网站怎么做400电话
  • 点击图片进入网站要怎么做国外做gif的网站
  • 建湖做网站多少钱电商网站设计
  • 企业网站设计方案书茶网站设计素材下载
  • 宿迁交通工程建设有限公司网站seo是什么职位简称
  • 学美工难吗南京seo关键词排名
  • 企业网站备案座机号网站更换
  • 网站后台改不了设置郑州包装设计公司都有哪些
  • ps怎么排版规划设计网站wordpress页面切换
  • 北京住房与建设部网站wordpress菜单插件
  • 网站建设的步骤图片过程绛帐做网站
  • 长沙seo网站优化公司网站备案管理办法
  • 做视频点播网站要多少带宽wordpress 如何添加模板
  • 备案的网站 能拿来做仿站吗网站制作论文范文
  • 广州建设专业网站网站后期推广方案
  • 电商网站统计怎么做重庆网站建设冒号
  • 济南企业做网站wordpress 创建主题
  • 乡村振兴网站建设宿迁网站建设托管
  • 有哪些行业需要做网站建设和推广网站建设的重点是什么
  • 网站demo怎么做国产最好的a级suv
  • 网站建设捌金手指花总三十网站引量方法
  • 全国高端网站网站系统建设合作合同范本