V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Distributions
Ubuntu
Fedora
CentOS
中文资源站
网易开源镜像站
lokamir
V2EX  ›  Linux

我快被 vim 弄崩溃了

  •  
  •   lokamir · 2020-02-12 15:55:02 +08:00 · 6700 次点击
    这是一个创建于 1748 天前的主题,其中的信息可能已经有所发展或是发生改变。
    我 Vim+路径+文件名,这个路径和文件名是不存在的,我希望在 vim 后可以像文件夹一样直接创建出来图省事就直接 vim 了。然后写完文件 wq 保存弹出 Can't open file for writing Press ENTER or type command to continue
    好吧 我想退出去重新建文件,直接 q 退出,告诉我需要用!q 来 override,我用!q 退出到了命令行提示我有文件为保存,按任意键继续编辑,不管按什么键都会进入 vim 编辑,编辑了不能保存,退出后又让我编辑,我真无语,这个除了关 putty 还有其他办法解决吗?
    27 条回复    2020-03-06 15:14:45 +08:00
    yesmeck
        1
    yesmeck  
       2020-02-12 15:56:37 +08:00   ❤️ 1
    ``:w!` 创建并保存。
    Cooky
        2
    Cooky  
       2020-02-12 15:57:55 +08:00 via Android
    这就崩溃了?
    fancy111
        3
    fancy111  
       2020-02-12 16:00:26 +08:00
    。。。。 你看看一楼
    loading
        4
    loading  
       2020-02-12 16:09:25 +08:00   ❤️ 1
    建议和我一样装个 nano。
    虽然我会用 vi。
    lokamir
        5
    lokamir  
    OP
       2020-02-12 16:10:56 +08:00
    感谢,解决了
    @yesmeck
    kdashl
        6
    kdashl  
       2020-02-12 22:13:56 +08:00
    你是不是,有个隐藏的文件待编辑
    muzuiget
        7
    muzuiget  
       2020-02-13 04:42:29 +08:00
    那是 vim 提示你试图覆盖一个“只读”的文件,原因可能是文件属性标记为“只读“,或者没有写入权限,前者可以用 :w! 强制保存,后者要用 :saveas 另存为新文件。
    linxu
        8
    linxu  
       2020-02-13 08:32:02 +08:00 via Android
    哈哈。。是你自己对 vim 不熟悉。
    StarkXiao
        9
    StarkXiao  
       2020-02-13 09:39:10 +08:00   ❤️ 1
    :!q 是执行一个外部命令 q 啊,:q! 才是强制退出
    lokamir
        10
    lokamir  
    OP
       2020-02-13 09:56:13 +08:00
    原来是这样啊,我一直都弄错了
    @StarkXiao
    jinliming2
        11
    jinliming2  
       2020-02-13 10:32:07 +08:00 via iPhone
    ctrl+z 可以临时退出,然后输入 fg 命令可以恢复……
    afpro
        12
    afpro  
       2020-02-13 10:36:52 +08:00
    mkdir -p 了解一下
    tankren
        13
    tankren  
       2020-02-13 11:30:31 +08:00
    喜欢用 nano
    wizardoz
        14
    wizardoz  
       2020-02-13 14:55:18 +08:00   ❤️ 1
    想起那个段子:如何产生真随机数?让一个新手退出 vi
    hellwys1
        15
    hellwys1  
       2020-02-13 15:10:51 +08:00
    笑死了,想起自己第一次用 vim 的时候。别崩溃,多用,挺有意思的。
    viruser
        16
    viruser  
       2020-02-13 17:46:32 +08:00
    :w !sudo tee %。如果习惯不了 vim,除了 nano 还可以试试 micro 和 mcedit。熟悉 vim 是个漫长的过程...
    feelinglucky
        17
    feelinglucky  
       2020-02-13 17:49:05 +08:00
    vim 还好了,你要知道很多 classic 的 vi (例如 FreeBSD 的 nex/nvi,Slackware 的 elvis 等,貌似暴露年纪了),你根本就不知道以前在 vim 的经验还能不能使用
    xiaomudou
        18
    xiaomudou  
       2020-02-13 18:22:48 +08:00
    只会用 vi 的路过!
    最小化安装后只有 vi 可用,没办法呀!
    v22ex6667
        19
    v22ex6667  
       2020-02-13 18:42:30 +08:00
    玩不了 viM ,结果被它玩了,回头是岸,
    KentY
        20
    KentY  
       2020-02-13 20:29:30 +08:00
    1999 年是我第一次用 vim, 在电信机房登录服务器上临时修改一个配置文件, 不得不用 vim. 当时情况记得非常清晰...从那时就觉得这个编辑器根本不是给人设计的. 当时还是用的 SUN solaris 的键盘

    今年 2020 年了自己是正式 vim 用户也有 17, 18 年了. 时光如梭
    ps1aniuge
        21
    ps1aniuge  
       2020-02-14 18:44:17 +08:00
    hahaha,让我也来吐槽下,

    1linux=垃圾,发行版默认不支持小键盘。

    2ubuntu 的默认 vi=垃圾,需要用 vim.tiny。红帽的 vi 没这问题。

    3vi 的好处是,支持 bom 头,而 nano 最新版,2,x 还不支持。mcedit 也不支持。
    一个不支持 bom 头的文本编辑器,不是垃圾,而是屎屎屎!
    cat 也不支持 bom 头,也是屎。
    建议大家使用 powershell 的 cat,即 get-content 命令,它可以支持 bom 头。

    用 bom 头+支持 bom 头=用无乱码。你见过一个 bom 头文本乱码么?我没见过,除非文本坏了。
    不用+不支持=天天乱码。
    james122333
        22
    james122333  
       2020-02-15 21:25:29 +08:00
    @ps1aniuge
    你说的不是 bom 的问题吧 是 UTF-16 的问题吧 (滑稽) vim 可以 nano 也可以 mcedit 变成一个点而已 cat utf8 bom 也没问题 有需要 iconv 转一下就好

    cat() {
    local i
    for i in $*
    do
    case $(file $i) in
    *UTF-16*)
    /usr/bin/cat $i | iconv -f UTF-16 -t UTF-8
    ;;
    esac
    done
    }

    视情况修改就好 根本不喜欢 utf16 (滑稽)
    james122333
        23
    james122333  
       2020-02-15 21:35:30 +08:00
    至于小键盘 fcitx 可以达成
    什么都要现成的不行 (滑稽)
    james122333
        24
    james122333  
       2020-02-15 21:38:14 +08:00
    阿... 不用 cat iconv 后面直接接档案就好
    iceecream
        25
    iceecream  
       2020-02-22 11:41:18 +08:00
    vi 刚开始就 3 个命令啊
    i
    a
    :wq
    :q!
    用熟就可以开始用其他的了。
    vi != vim
    xxxrubyxxx
        26
    xxxrubyxxx  
       2020-03-04 12:39:28 +08:00
    看下常用的 vim 命令,用上几天熟悉了,你就知道又多爽了
    hyndaniel
        27
    hyndaniel  
       2020-03-06 15:14:45 +08:00   ❤️ 1
    wq! = x
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1104 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 19:03 · PVG 03:03 · LAX 11:03 · JFK 14:03
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.