我在使用unicode为git-bash工作时遇到了一些麻烦(在Windows 7上).我尝试过许多事情都没有成功.虽然,我不太确定对此有什么责任,所以我可能在错误的方向上工作.
看来这应该是可行的,因为可以使用'chcp 65001'将cmd.exe的编码更改为unicode.
以下是我尝试过的一些事情(除了明显的浏览GUI中的配置选项).
在'.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)从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)在启动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)由于我更喜欢使用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)
JPSoft的TCC/LE
PowerCMD
堆栈溢出
duckduckgo
ixquick …
我经常发现自己想要在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) 由于我的一些目录不必要的长名称,我继续重命名它们.这对其中两个人来说很好,但由于......
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)