热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

linux下vim换行,Vim不会接受换行

我有一个vim默认安装在Linux上,在一个系统上有vt52终端仿真器和unicode功能。Vim不会接受换行一切都工作正常,直到今天,当

我有一个vim默认安装在Linux上,在一个系统上有vt52终端仿真器和unicode功能。Vim不会接受换行

一切都工作正常,直到今天,当我将我的vt52 terminfo文件从临时本地用户目录移到永久系统目录中时...起初看起来很好,但突然间,当我尝试执行冒号命令通过按回车键(CTRL-J,或键本身==十进制10),vim只是闪烁屏幕,但不执行命令或离开命令输入模式。 但是,如果我按CTRL-M获得回车符(十进制13),vim确实接受该命令。

我试图再次复制文件回到~/.terminfo,但它并没有解决问题...

我想这可能是A tty的问题或损坏的vimrc文件,所以... 第一我尝试删除.viminfo和.vimrc文件,并在启动vim之前执行stty sane,但这两个都没有帮助。我刚刚注意到,输入在插入模式下也不起作用,但CTRL-M确实如此。

然后我从bash shell检查,使用CTRL-V,当我按下CTRL-M时,它显示^M,当我按CTRL-J时,它只是进入并不显示任何东西。所以 - 再次检查 - 我做了stty raw和cat - | hexdumpx,并且确实按下回车只返回0x0a,并且按CTRL-M只返回0x0d;所以键盘驱动程序正在原始模式下返回正确的字符,并且我以明智的方式重新测试了它们,这显然将它们映射到0x0A。

我用tic重新编译了termcap文件,并将它复制到~/.terminfo/v/vt52u之前,它在那里工作正常,并且已经复制到/usr/share/terminfo/v/vt52u。

但我没有看到任何可能导致问题的termcap文件。

vt52u|vt52 with UTF-8:\

:am:eo:rs=\Ee\Eb0\Eco:is=\EE\Ee:\

:nl=^j:sr=\EI:bl=^g:ta=^i:\

:ho=\EH:cr=^m:le=\ED:nd=\EC:do=\EB:up=\EA:ta=^i:nw=^j^m:xn:\

:cm=\EY%+ %+ :it#8:co#75:li#24:\

:sc=\Ej:rc=\Ek:\

:vi=\Ef:ve=\Ee:\

:so=\Eb0\Ec3:se=\Eb0\Eco:mh=\Eb8\Eco:mr=\Ebo\Ec0:me=\Eb0\Eco:\

:cl=\EH\EJ:cb=\Eo:cd=\EJ:ce=\EK:\

:km:kb=^h:

编辑: 我已经分离到实验5下面列出,如被任何东西所引起,或从上述termcap文件丢失,或者在它的抽动编译器转换为terminfo的问题。

因此 - 什么termcap条目丢失或哪个现有的条目导致问题?

----------------------额外的实验,我试图找出它-------------- -----

1:在vim中做:set term显示 ....这是正确的。所以VIM应该使用上面的termcap文件,但我不知道从哪里(例如:缓存版本,不是 - 或损坏)和:版本只显示+ termcap,它说vim应该使用tic编译的termcap文件这是我一直试图给它。

2:我重新编译了ncurses-5.9,并重新安装它以确保没有损坏的文件存在。即使:./configure --prefix=/usr --without-cxx --without-cxx-binding --without-ada --without-manpages --without-progs --without-tests --with-build-cc=gcc --with-shared --without-debug --without-profile --without-gpm --without-dlsym --without-sysmouse --enable-sigwinch --enable-hashmap --enable-scroll-hints --build=i686-linux --host=arm-linux-gnueabi --without-pthread --enable-widec --with-fallbacks=vt52u --disable-big-core --enable-termcap --enable-getcap-cache

3:做一个:set termcap显示比termcap文件定义的更多的键,这是坏的... termcap只定义了一个键......而那个应该是^ H不是^?,因此VIM的值不匹配,但其他termcap值都匹配,因为^ [与termcap文件中的escape \ E相同。所以,我证明vim肯定会加载正确的termcap文件,因为t_so的值对于vt52u是唯一的。 。所以 - 这不是一个腐败的termcap .... :(怪异

t_kb ^? ^[[

t_kd ^@ ^[}

t_sr=^[I t_bc=^[D t_le=^[D t_cd=^[J t_ce=^[K t_cl=^[H^[J

t_me=^[b0^[co t_mr=^[b0^[co t_ve=^[e t_vi=^[f t_nd=^[C t_se=^[b0^[c0

t_ZH=^[bo^[c0 t_ZR=^[b0^[co t_so=^b0^[c3 t_cm=^[Y%p1%' '%+%c%p2%' '%+%c

4:重新编译VIM 7.4,删除所有内置的终端,并确保没有损坏的文件,没有效果;没修好退格键的默认值是错误的

echo "Please Edit feature.h so that NO_BUILTIN_TERMCAPS is always #defined."

sleep 5

vim /src/feature.h

./configure --prefix=/usr/ --build=i686-linux --host=arm-linux-gnueabi --with-features=big --disable-darwin --disable-selinux --disable-xsmp --disable-xsmp-interact --disable-mzschemeinterp --disable-tclinterp --disable-netbeans --disable-sniff --disable-gui --disable-cscope --disable-workshop --enable-multibyte --disable-gtktest --disable-gpm --disable-sysmouse --disable-xim --enable-pythoninterp=dynamic --without-x --with-tlib=ncursesw vim_cv_toupper_broken="yes" vim_cv_terminfo="yes" vim_cv_tty_group="world" vim_cv_tty_mode="0620" vim_cv_getcwd_broken="yes" vim_cv_stat_ignores_slash="yes" vim_cv_memmove_handles_overlap="yes"

echo "Please Edit src/Makefile such that STRIP=arm-linux-gnueabi-strip"

sleep 5

vim src/Makefile

make

make install

5:在bash,我改变了终端类型设置为通用的“出口TERM = VT52”,而不是Unicode版本,与我抽动编译色彩支持* * NEWLINE问题冒险带着色彩指令牺牲品和VT52U的其他功能**我需要这些功能,但显然是有关我上面列出的termcap文件是有缺陷的。

+0

你用什么样的linux强制你使用vt52 TERM? –

+0

这是一个索尼PRS900,在ROM中运行monta vista linux。内核没有编译VT102 - 而VT102的内核驱动程序太复杂,无法适应索尼使用的电子纸内核驱动程序 - 所以我只是在一个pty上使用VT52用户空间终端。它很好地工作。 VT52终端在帧缓冲区上运行,并执行unicode,并处理电子纸显示特性,而不会占用太多内存。它让我用UTF-8做希腊语,希伯来语,绘制盒子等等。 :) –



推荐阅读
  • 本文探讨了将PEBuilder转换为DIBooter.sh的方法,重点介绍了如何将DI工具集成到启动层,实现离线镜像引导安装。通过使用DD命令替代传统的grub-install工具,实现了GRUB的离线安装。此外,还详细解析了bootice工具的工作原理及其在该过程中的应用,确保系统在无网络环境下也能顺利引导和安装。 ... [详细]
  • 在CentOS 7上部署WebRTC网关Janus
    在CentOS 7上部署WebRTC网关Janus ... [详细]
  • 【并发编程】全面解析 Java 内存模型,一篇文章带你彻底掌握
    本文深入解析了 Java 内存模型(JMM),从基础概念到高级特性进行全面讲解,帮助读者彻底掌握 JMM 的核心原理和应用技巧。通过详细分析内存可见性、原子性和有序性等问题,结合实际代码示例,使开发者能够更好地理解和优化多线程并发程序。 ... [详细]
  • 本书详细介绍了在最新Linux 4.0内核环境下进行Java与Linux设备驱动开发的全面指南。内容涵盖设备驱动的基本概念、开发环境的搭建、操作系统对设备驱动的影响以及具体开发步骤和技巧。通过丰富的实例和深入的技术解析,帮助读者掌握设备驱动开发的核心技术和最佳实践。 ... [详细]
  • 深入解析:RKHunter与AIDE在入侵检测中的应用与优势
    本文深入探讨了RKHunter与AIDE在入侵检测领域的应用及其独特优势。通过对比分析,详细阐述了这两种工具在系统完整性验证、恶意软件检测及日志文件监控等方面的技术特点和实际效果,为安全管理人员提供了有效的防护策略建议。 ... [详细]
  • 深入解析Wget CVE-2016-4971漏洞的利用方法与安全防范措施
    ### 摘要Wget 是一个广泛使用的命令行工具,用于从 Web 服务器下载文件。CVE-2016-4971 漏洞涉及 Wget 在处理特定 HTTP 响应头时的缺陷,可能导致远程代码执行。本文详细分析了该漏洞的成因、利用方法以及相应的安全防范措施,包括更新 Wget 版本、配置防火墙规则和使用安全的 HTTP 头。通过这些措施,可以有效防止潜在的安全威胁。 ... [详细]
  • 本文探讨了Android系统中支持的图像格式及其在不同版本中的兼容性问题,重点涵盖了存储、HTTP传输、相机功能以及SparseArray的应用。文章详细分析了从Android 10 (API 29) 到Android 11 的存储规范变化,并讨论了这些变化对图像处理的影响。此外,还介绍了如何通过系统升级和代码优化来解决版本兼容性问题,以确保应用程序在不同Android版本中稳定运行。 ... [详细]
  • 本文深入探讨了CGLIB BeanCopier在Bean对象复制中的应用及其优化技巧。相较于Spring的BeanUtils和Apache的BeanUtils,CGLIB BeanCopier在性能上具有显著优势。通过详细分析其内部机制和使用场景,本文提供了多种优化方法,帮助开发者在实际项目中更高效地利用这一工具。此外,文章还讨论了CGLIB BeanCopier在复杂对象结构和大规模数据处理中的表现,为读者提供了实用的参考和建议。 ... [详细]
  • 技术分享:深入解析GestureDetector手势识别机制
    技术分享:深入解析GestureDetector手势识别机制 ... [详细]
  • 深入探索Node.js新框架:Nest.js第六篇
    在本文中,我们将深入探讨Node.js的新框架Nest.js,并通过一个完整的示例来展示其强大功能。我们将使用多个装饰器创建一个基本控制器,该控制器提供了多种方法来访问和操作内部数据,涵盖了常见的CRUD操作。此外,我们还将详细介绍Nest.js的核心概念和最佳实践,帮助读者更好地理解和应用这一现代框架。 ... [详细]
  • 深入解析 Django 中用户模型的自定义方法与技巧 ... [详细]
  • 本文详细探讨了Java集合框架的使用方法及其性能特点。首先,通过关系图展示了集合接口之间的层次结构,如`Collection`接口作为对象集合的基础,其下分为`List`、`Set`和`Queue`等子接口。其中,`List`接口支持按插入顺序保存元素且允许重复,而`Set`接口则确保元素唯一性。此外,文章还深入分析了不同集合类在实际应用中的性能表现,为开发者选择合适的集合类型提供了参考依据。 ... [详细]
  • 本文介绍了如何通过掌握 IScroll 技巧来实现流畅的上拉加载和下拉刷新功能。首先,需要按正确的顺序引入相关文件:1. Zepto;2. iScroll.js;3. scroll-probe.js。此外,还提供了完整的代码示例,可在 GitHub 仓库中查看。通过这些步骤,开发者可以轻松实现高效、流畅的滚动效果,提升用户体验。 ... [详细]
  • Ceph API微服务实现RBD块设备的高效创建与安全删除
    本文旨在实现Ceph块存储中RBD块设备的高效创建与安全删除功能。开发环境为CentOS 7,使用 IntelliJ IDEA 进行开发。首先介绍了 librbd 的基本概念及其在 Ceph 中的作用,随后详细描述了项目 Gradle 配置的优化过程,确保了开发环境的稳定性和兼容性。通过这一系列步骤,我们成功实现了 RBD 块设备的快速创建与安全删除,提升了系统的整体性能和可靠性。 ... [详细]
  • 探讨 `org.openide.windows.TopComponent.componentOpened()` 方法的应用及其代码实例分析 ... [详细]
author-avatar
小胖菜鸟
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有