Question: I try to add a nicer key binding to kill the current buffer.

An obvious solution is to use `kill-this-buffer`, but often it does not work, or e.g. does not work the first time. The key binding for it is definitely not overridden by the buffers keymap, etc.

Indeed, the docs for `kill-this-buffer` say:

> 
> This command can be reliably invoked only from the menu bar, otherwise it could decide to silently do nothing.
> 
> 
> 

This is exactly the observed behavior.

What could be a nice alternative? Is something like `(kill-buffer (current-buffer))` going to work reliably instead? Am I missing any subtleties?

Answer: 
Short answer: `(kill-buffer (current-buffer))` works fine.

Longer answer: My init.el has

```
;; kill the current buffer instead of choosing
;; http://pragmaticemacs.com/emacs/dont-kill-buffer-kill-this-buffer-instead/
;; except that kill-this-buffer may break if menus are not available:
;; https://www.reddit.com/r/emacs/comments/64xb3q/killthisbuffer_sometimes_just_stops_working/
(bind-key "k" (lambda () (interactive) (kill-buffer (current-buffer))) ctl-x-map)

```

Check the links therein for more discussion.
The fastest way is by a keyboard shortcut, which is `C-x k`.