跳至主要内容

博文

Use MobaDiff with git difftool

Recently there's an activity in IT that forces the deletion of all unauthorized softwares from all work machines. Unfortunately, kdiff3 is one in the list. As it is generally okay to use vimdiff as an alternative for kdiff3, A gui tool is better suited for desktop workflows. Known that MobaXterm is shipping a gui diff tool named MobaDiff. But it only appears in the windows right click context menu. Find the real application name takes me some time to search in the windows registry. "MobaRTE.exe", which is the one invoked by HKCR\*\shell\MobaDiff. And it was invoked with "-contextdiff" switch to show MobaDiff UI, while when the switch is "-contextedit" it shows MobaTextEditor. Too bad that the "-contextdiff" switch do not support pre-image post-image as other diff tool did, which effectively made it unable to be used as a command line diff utility. Also MobaTech did not mention anything in their document of this Mob
最新博文

Eglot and before/after-save-hook and use-package

In Emacs, when you try to automate some actions during every save action, you will surely get to the before-save-hook and the after-save-hook. Simply adding something like gofmt-before-save to before-save-hook will save you tons of time to do the go-fmt. And then, I meet eglot, and gopls will also save me tons of time doing googling and api documentation navigation. But eglot-ensure is not very friendly to the good old ways of how after-save-hooks were designed to work. It makes the before/after-save-hook a buffer local variable and it does not inherit the variable's global value. So, to make before/after-save-hook work again, experts start to adding hooks to major mode specific hooks like this: emacs.md - Go (opensource.google) """ ;; Optional: install eglot-format-buffer as a save hook. ;; The depth of -10 places this before eglot's willSave notification, ;; so that that notification reports the actual contents that will be saved. (defu

Winget: From Quirky Underdog to Stable Champion

Remember winget, the Windows Package Manager that started as a playful experiment? Well, prepare to be surprised – it's grown into a powerful and highly stable tool for managing your software, including in environments with network restrictions . Gone are the days of unreliable installs and limited functionality. The developers have diligently transformed winget into a reliable contender in the package manager arena. Updates arrive regularly, bringing stability, enhanced features, and wider app support . Here's why you should give winget another look: Unified experience: Manage all your apps from a single command line , ditching the scattered hunt for individual installers and downloads. Security focus: Winget verifies package integrity and signatures, ensuring you get authentic and secure software . Efficiency: Say goodbye to manual downloads and updates. Winget automates the process, saving you time and effort. Customization: Configure installation options and choose s

HTML and YAML parser not working for nvim treesetting on windows.

Got this issue: Impossible to load parser for html: Failed to load parser: uv_dlopen: error: 127 · Issue #3587 · nvim-treesitter/nvim-treesitter · GitHub There's an issue with HTML and YAML parsers due to their dependence on C++ and the libstdc++-6.dll library. Specifically, the NeoVim Windows version includes this library for nvim-qt.exe . However, this can cause conflicts when compiling with the user installed GCC, which links to its own libstdc++-6.dll (which in most case will be a different verson). Potential Problems: DLL Conflict: If you're not using nvim-qt , the html.so and yaml.so files might mistakenly point to the library bundled with NeoVim, leading to unexpected behavior. Path Reliance: Depending on your path variables, the parsers might prioritize NeoVim's library, even if you intend to use GCC's version. Fake Solutions: Remove NeoVim's Library (if not using nvim-qt): If you don't use nvim-qt , simply delete the libstdc++-6.dll file includ

Windows 10 下键盘设置技巧

CJK Emacs 用户 Windows 10键盘设置  其实并不是特别多Emacs用户有这么奇怪的要求: 要有CJK输入法 要有Emacs来满足输入快感 要CJK输入法的激活方式与Emacs热键不互相冲突  要右边的 Alt 按键和左侧的 Alt 一样可以在Emacs中用作 Meta 键  下面是我正在 Windows 10 系统使用的配置:  要求1,不需要特殊配置,windows 10 自带了各种地区的输入法,并且对于中文用户还很贴心的默认激活……  要求2,只要安装了 Emacs 就好。  要求3,为 Windows 10 添加一个“美式键盘”。如此一来,只要切换到这个英语键盘,Ctrl-Space 热键就可以直接被 Emacs 接收到,而不是被系统截获用作输入法开关了。同时,Win-Space 组合会成为键盘级别的切换。  要求4,为 Windows 10 添加 “美式键盘”的时候,一定选择不带任何修饰的 “美式键盘”。切记不要选择 “国际”版本,那是一个把右侧 Alt 键转换成 AltGr 的特殊设置(只有输入特殊的欧洲字符时才用的到,至少我是用不到的)。  还有一个曾经从 WinXP 时代流传下来的注册表设置: right alt -> left alt ------------------------------------ Windows Registry Editor Version 5.00   [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout] "Scancode Map"=hex:00,00,00,00,00,00,00,00,02,00,00,00,38,00,38,e0,\ 00,00,00,00   ------------------------------------

XEmacs 21.5 beta 35 "kohlrabi" has been released.

If you are an old XEmacs user, you may feel happy to see this from https://www.xemacs.org/.    After ten years, XEmacs released a new version 21.5. So there's still many people cares about XEmacs. The XEmacs' source repo have been moved from altassian Bitbucket to https://heptapod.net/. As Bitbucket have been dropped Mercurial support many years ago.