小编Han*_*nes的帖子

使用git-bash的Unicode(utf-8)

我在使用unicode为git-bash工作时遇到了一些麻烦(在Windows 7上).我尝试过许多事情都没有成功.虽然,我不太确定对此有什么责任,所以我可能在错误的方向上工作.

看来这应该是可行的,因为可以使用'chcp 65001'将cmd.exe的编码更改为unicode.

以下是我尝试过的一些事情(除了明显的浏览GUI中的配置选项).

  1. 在'.bashrc'中设置环境变量.我想这是行不通的,因为我觉得这是一个linux的事情.'locale'命令不存在.

    export LC_ALL=en_US.UTF-8
    export LANG=en_US.UTF-8
    export LANGUAGE=en_US.UTF-8
    
    Run Code Online (Sandbox Code Playgroud)
  2. 从cmd.exe开始,使用'chcp 65001'将编码更改为unicode,然后启动git-bash.这会导致我在尝试捕获我的unicode测试文件时获得权限被拒绝.但是,在没有unicode的情况下捕获文件就可以了.如所示,退回到cmd.exe我仍然可以"捕获"该文件.使用我的默认编码(437)我可以用bash捕获文件(没有权限被拒绝但输出被捏造).

    S:\>chcp 65001
    Active code page: 65001
    S:\>"C:\Program Files (x86)\Git\bin\sh.exe" --login -i
    zarac@TOWELIE /z
    cat /s/unicode.txt
    cat: write error: Permission denied
    zarac@TOWELIE /z
    cat /s/nounicode.txt
    abc
    zarac@TOWELIE /z
    L /s/unicode.txt
    -rw-r--r--    1 zarac    Administ        7 May 18 10:30 /s/unicode.txt
    zarac@TOWELIE /z
    whoami
    towelie\zarac
    zarac@TOWELIE /z
    exit
    Z:\>type S:\unicode.txt
    abc£
    
    Run Code Online (Sandbox Code Playgroud)
  3. 在启动shell时使用/ U标志(有道理它不起作用,因为它不是正确的,如果我理解正确,但它与unicode有关,所以我尝试了它).

    C:\Windows\SysWOW64\cmd.exe /U /C "C:\Program Files (x86)\Git\bin\sh.exe" --login -i
    
    Run Code Online (Sandbox Code Playgroud)
  4. 由于我更喜欢​​使用Console2,我尝试将名为CodePage的值为65001(十进制)的双字值添加到[HKEY_CURRENT_USER\Console]下的Windows注册表以及[HKEY_CURRENT_USER\Console\Git Bash].这似乎与设置'chcp 65001'接受它是"自动"的效果相同.(http://stackoverflow.com/questions/379240/is-there-a-windows-command-shell-that-will-display-unicode-characters)

  5. JPSoft的TCC/LE

  6. PowerCMD

  7. 堆栈溢出

  8. duckduckgo

  9. ixquick …

windows unicode bash utf-8 git-bash

40
推荐指数
5
解决办法
5万
查看次数

覆盖colorscheme

我经常发现自己想要在colorscheme中改变一些东西,但我不想编辑原始文件.我尝试将我的更改放在'〜/ .vim/after/colors/blah.vim'中,但这对我不起作用.


例如,我想更改BusyBee.vim中的CursorLine高亮显示..

〜/的.vim /颜色/ BusyBee.vim

我创建文件'〜/ .vim/after/colors/BusyBee.vim'并添加:

hi CursorLine    guibg=#000000 ctermbg=Black cterm=none
Run Code Online (Sandbox Code Playgroud)

但是,我没有看到变化.当然,如果我更改原始BusyBee.vim中的行,它会起作用,但就像我说我不想那样做.

做...

:colo Busy<TAB>
Run Code Online (Sandbox Code Playgroud)

告诉我......

BusyBee  BusyBee
Run Code Online (Sandbox Code Playgroud)

vim color-scheme colors

24
推荐指数
2
解决办法
9274
查看次数

从项目中的项目移动包含子项目/遗骸的目录

由于我的一些目录不必要的长名称,我继续重命名它们.这对其中两个人来说很好,但由于......

  git mv DA305A-ProgrammeringMedCSharpOchXNA/ programmeringMedCSharpOchXNA
fatal: source directory is empty, source=DA305A-ProgrammeringMedCSharpOchXNA/Projekt/UniWar, destination=programmeringMedCSharpOchXNA/Projekt/UniWar
Run Code Online (Sandbox Code Playgroud)

这个目录是空的(也没有.git目录),但是,我不确定为什么这很重要.

我可能曾经在这里添加了一个子程序,但我不是100%肯定,它可能只是另一个存储库(不是作为子项目).我对git很新,所以我很可能做了一些奇怪的事情.

这就是我为了了解更多而做的事情......它没有让我找到解决方案

  git submodule status
No submodule mapping found in .gitmodules for path 'DA305A-ProgrammeringMedCSharpOchXNA/Projekt/UniWar'

  cat .gitmodules
cat: .gitmodules: No such file or directory

  grep -r UniWar .git/**
Binary file .git/index matches
Run Code Online (Sandbox Code Playgroud)

在vim中打开.git/index,它看起来像一个普通的文本文件,并且里面没有找到"UniWar".在记事本中打开它会显示虚假角色之间的匹配.

只是尝试git删除目录将无法正常工作......

  git rm -r DA305A-ProgrammeringMedCSharpOchXNA/Projekt/UniWar
rm 'DA305A-ProgrammeringMedCSharpOchXNA/Projekt/UniWar'
Unlink of file 'DA305A-ProgrammeringMedCSharpOchXNA/Projekt/UniWar' failed. Should I try again? (y/n)? y
Unlink of file 'DA305A-ProgrammeringMedCSharpOchXNA/Projekt/UniWar' failed. Should I try again? (y/n)? n
fatal: git rm: 'DA305A-ProgrammeringMedCSharpOchXNA/Projekt/UniWar': Permission denied …
Run Code Online (Sandbox Code Playgroud)

git

5
推荐指数
1
解决办法
2167
查看次数

标签 统计

bash ×1

color-scheme ×1

colors ×1

git ×1

git-bash ×1

unicode ×1

utf-8 ×1

vim ×1

windows ×1